网站推广的平台,网站关键词优化费用,网站建设准备工作总结,监利县建设局网站题目描述
N个小朋友手拉手站成一个圆圈#xff0c;从第一个小朋友开始循环报数#xff0c;报到M的那个小朋友退到圈外#xff0c;然后他的下一位重新报1。这样继续下去#xff0c;直到最后只剩下一个小朋友#xff0c;他原来站在什么位置上呢#xff1f;
输…题目描述
N个小朋友手拉手站成一个圆圈从第一个小朋友开始循环报数报到M的那个小朋友退到圈外然后他的下一位重新报1。这样继续下去直到最后只剩下一个小朋友他原来站在什么位置上呢
输入
仅一行有两个数N和M其中N表示小朋友的人数M表示报到数。1N1000,MN
输出
仅一个数留下的小朋友的编号。
样例输入
复制
8 3
样例输出
复制
7 点个赞吧还有关注~
上干货
#include iostream using namespace std; #define N 10001 int a[N];
int main() { int n, m, cnt 0, p 0; cin n m; for (int i 0; i n; i) { a[i] 0; } int r n; while (r 1) { if (a[p] 0) { cnt; } if (cnt m) { a[p] 1; r--; cnt 0; } p; p p % n; } for (int i 0; i n; i) { if (a[i] ! 1) { cout i 1; } } return 0;
}