【1106】幸运的编号

描述:

有n个人围成一圈,顺序编号。从第一个人开始报数(从1到m),凡报到m的人退出。问最后一个人的编号是多少?

输入:

输入两个正整数n和m

输出:

最后一个人的编号。

输入样例:

 
 

5 2

输出样例:

 
 

3

#include<iostream>
using namespace std;
int main()
{
	int n,m,i,j=0,c=0,d;
	cin>>n>>m;
	int a[n];
	for(i=0;
	i<n;
	i++)
	{
		a[i]=1;
	}
	j=j-1;
	for(i=0;
	i<n;
	i=(i+1)%n)
	{
		if(a[i]!=0)
		{
			j=(j+1)%m;
		}
		if(j==m-1&&a[i]!=0)
		{
			a[i]=0;
			c=c+1;
		}
		if(c==n-1)
		{
			break;
		}
	}
	for(i=0;i<n;i=(i+1)%n)
	{
		if(a[i]!=0)
		{
			d=(i+1)%n;
			break;
		}
	}
	cout<<d<<endl;
	return(0);
}


猜你喜欢

转载自blog.csdn.net/qq_40560275/article/details/78297296