本文主要是介绍西普实验吧CTF-约瑟夫环,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目描述:
总共有2 * k个人报数,前面k个是好人,后面k个是坏人,从第一个好人开始报数,报道m的人要死去。然后从死人的下一个活人继续从头开始报数,报道m的人死去,以此类推。当k = 12时,问m为何值时,坏人全部死去之前不会有好人死去。
这题之前做过,就是一个循环数组的遍历,之前打表了,代码:
#include<stdio.h>
int main(){int n;int a[15]={0,2,7,5,30,169,441,1872,7632,1740,93313,459901,1358657,2504881};while(scanf("%d",&n)!=EOF && n)printf("%d\n",a[n]);return 0;
}
提交CTF{1358657},通过!
这篇关于西普实验吧CTF-约瑟夫环的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!