解题思路:

这个是模拟题,自己在纸上画一下 人数是3,4,5的情况再慢慢分析一下就可以写出来了
注意事项:
这个是一个圈,刚开始我也没注意到,发现怎么都是2,后来才知道圈可以无限循环下去,直到最后一个人

参考代码:

#include<stdio.h>

int main(){

int n,i,j=1,x=0;

scanf("%d",&n);

    int a[n];

for(i=1;i<=n;i++){

a[i]=j++;//将各个成员标号

}

int leave=n;

i=0,j=0;

while(leave){//非零即真

if(j==n)j=0;

j++;

if(a[j]!=0)i++;//如果已经是3了,就i不加了

if(i==3){

i=0;

a[j]=0;

leave--;

}

}

printf("%d\n",j);

return 0;


 

0.0分

1 人评分

C语言网提供「C语言、C++、算法竞赛」在线课程,全部由资深研发工程师或ACM金牌大佬亲授课,更科学、全面的课程体系,以在线视频+在线评测的学习模式学习,学练同步,拒绝理论派,真正学会编程!还有奖学金等增值福利等你!

  评论区