PDF文档公众号回复关键字:20240624
2021 CSP-J 完善程序3
1 完善程序 (单选题 ,每小题3分,共30分)
(Josephus问题)有n个人围成一个圈,依次标号0至n-1。从0号开始,依次 0,1,0,1…交替报数,报到1的人会离开,直至只剩下一个人。求最后剩下人的编号
#include<stdio.h>
const int MAXN=1000000;
int F[MAXN];
int main(){
int n;
scanf("%d",&n);
int i=0,p=0,c=0;
while(①){
if(F[i]==0){
if(②){
F[i]=1;
③;
}
④
}
⑤;
}
int ans=-1;
for(i=0;i<n;i++)
if(F[i]==0)
ans=i;
printf("%d\n",ans);
return 0;
}
34.①处应填( )
A. i<n
B. c<n
C. i<n-1
D. c<n-1
35.②处应该填( )
A. i%2==0
B. i%2==1