本文主要是介绍17.约瑟夫环 (5分),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目内容:
有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位?
输入描述
正整数n
输出描述
直接输出结果
输入样例
10
输出样例
4
#include <stdio.h>
int main(){int i, k, a[100], *p;int n, m;scanf("%d", &n);for(i = 0, p = a; p <= a + n; i++, p++)*p = i;k = n;for(i = 0; k != 1;p++){if(p > (a + n))p = a + 1;if(*p != 0)i++;if(i == 3){ *p = 0; i = 0;k--; }}for(i = 0; i <= n; i++){if(a[i] != 0)printf("%d ", a[i]);}return 0;
}
这篇关于17.约瑟夫环 (5分)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!