⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 猴子报数.cpp

📁 这是一个ACM中的题请大家看以下哈 如果有问题请多多指教 n个猴子围坐一圈并按照顺时针方向从1到n编号
💻 CPP
字号:
// 猴子报数.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include <iostream>
using namespace std;
int main(int argc, char* argv[])
{
	int total,m,n,data[10][100]={0},data1[10][100]={0},i=0;
	for(;;i++)
	{
		cin>>total>>m>>n;
		int total1 = total;
		for(int j=1;j<=total;j++)
		{data[i][j-1]=j;}
		for(int b=0;b<total;b++)
		{cout<<data[i][b];}
		if(total==0&&m==0&&n==0)
		{break;}
		else
		{			
			int k=m,counter=0,z=0;
			while(z!=total-1)
			{	
				if(k==total)
				{
					k = 0;
				}
				else
				{
					if(data[i][k]!=-1)
					{	
						if(total1==1)
						{
							data1[i][z]=data[i][k];
						}
						counter++;
					}
					if(counter==n)
					{
						data1[i][z] = data[i][k];
						cout<<data1[i][z]<<endl;
						data[i][k] = -1;
						total1--;
						counter = 0;
						z++;
					}
				}
				k++;
			}
		}
	}
	for(int x=0;x<i+1;x++)
	{
		for(int y=0;;y++)
		{
			if(data1[x][y]==0)
			{break;}
			else
			{
				cout<<data1[x][y]<<',';
			}
		}
		cout<<endl;
	}
	return 0;
}
/*n个猴子围坐一圈并按照顺时针方向从1到n编号,从第s个猴子开始进行1到m的报数,报数到第m的猴子
退出报数,从紧挨它的下一个猴子重新开始1到m的报数,如此进行下去知道所有的猴子都退出为止。
求给出这n个猴子的退出的顺序表。
  Input   
	有做组测试数据.每一组数据有两行,第一行输入n(表示猴子的总数)第二行输入数据s(从第s
	个猴子开
	始报数)和数据m(第m个猴子退出报数).当输入0 0 0时表示程序结束.
	Output 
	
	  输出中,每组数据的输出结果为一行,中间用逗号间隔。
	  
*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -