解题思路:
注意事项:
参考代码:
我的手机 2019/5/3 星期五 14:33:23 #include<stdio.h> int main() { int i,j,k=0,n; scanf("%d",&n); int num[n]; for(i=0;i<n;i++) num[i]=i+1;//给n个人排序 j=n;//给计数初始化 while(j>1)//剩最后一个人终止循环 { j=n;//每轮一次初始化计数 for(i=0;i<n;i++) { if(num[i]==0)//记下每轮还剩多少人 j--;//每轮退出的减掉 if(num[i]!=0&&(++k)%3==0)//报数k为3的倍数 num[i]=0;//让数到3人的等于0也就是退出 } } for(i=0;i<n;i++) { if(num[i]!=0) printf("%d\n",num[i]);//输出最后一个人的序号 } return 0; }
0.0分
0 人评分