有n个人围成一圈,顺序编号。从第一个人开始报数(从1到m),凡报到m的人退出。问最后一个人的编号是多少?
输入:
输入两个正整数n和m
输出:
最后一个人的编号。
输入样例:
5 2
输出样例:
3
#include<iostream>
using namespace std;
int main() {
int n, m;
int a[100] = { 0 };
cin >> n >> m;
int s = 0;
int count = 0;int i = 0;
while(count<n-1){
if (a[i] == 0)
s++;
if (s == m){
a[i] = 1;
count++;
s = 0;
}
i = (i + 1) % n;
}
int k;
for (k = 0; k < n; k++) {
if (a[k] == 0)
cout << k+1 << endl;
}
return 0;
}