描述:
有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);
}