一群猴子要选新猴王。新猴王的选择方法是:让N只候选猴子围成一圈,从某位置起顺序编号为1~N号。从第1号开始报数,每轮从1报到3,凡报到3的猴子即退出圈子,接着又从紧邻的下一只猴子开始同样的报数。如此不断循环,最后剩下的一只猴子就选为猴王。请问是原来第几号猴子当选猴王?
输入在一行中给一个正整数N(≤1000)。
在一行中输出当选猴王的编号。
11
7
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
- #include
- int main(int argc, char *argv[])
- {
- int n;
- scanf("%d", &n); //不要管忘记 &
- int king[n], cnt = 1, sum, i;
-
- for(i=0; i
//初始化:1 - n - king[i] = i+1;
- }
-
- do{
- for(i=0; i
- if(king[i] != 0){
- king[i] = cnt++;
- }
- if(king[i]==3){
- king[i] = 0;
- cnt = 1;
- }
- }
- // printf("cnt = %d\n", cnt);
- sum = 0;
- for(i=0; i
- sum += king[i];
- }
- }while(sum >= 3);
-
-
- for(i=0; i
- // printf("%d ", king[i]);
- if(king[i] != 0){
- printf("%d", i+1);
- break;
- }
- }
- return 0;
- }
-
相关阅读:
【图论C++】Floyd算法(多源最短路径长 及 完整路径)
HDLBits-Lemmings2
视频太大怎么压缩变小?把视频变小这样做
excel进行打印区域设置
js节流和防抖
React封装自定义表单校验方法
内网渗透之Windows反弹shell(五)
2023山东科技大学计算机考研信息汇总
我遇到的报错合集(更新中)
C# Solidworks二次开发:创建距离配合以及移动组件API详解
-
原文地址:https://blog.csdn.net/Pencil_37/article/details/126438106