题目描述:
总共有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},通过!