私信TA

用户名:uq_26667239983

访问量:4470

签 名:

知识大海里的浪者

等  级
排  名 595
经  验 4243
参赛次数 0
文章发表 155
年  龄 18
在职情况 学生
学  校 湖南理工学院
专  业 软件工程

  自我简介:

解题思路:

注意事项:

参考代码:

#include<stdio.h>



int main()

{

int n;

scanf("%d",&n);

int a[n+2];

for(int i=1;i<=n;i++)//初始化 

{

a[i]=i;

}

int count=n;//记录当前的个数,如果个数变为一时,说明找到了 

int s=0;//计数器的存在,到了第三个时就进行删除操作 

for(int i=1;;i++)//中间给空语句,让它一直跑下去 

{

if(a[i%n]!=0)//取余数,确保一直在数组的范围内,避免非法访问 

{

s++;

if(s==3)//删除操作 

{

a[i%n]=0;

count--;

s=0;//类似于回溯 

}

    }

    if(count==1)//循环终止条件 

    break; 

}

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

    {

    if(a[i]!=0)

    {

    printf("%d",a[i]);

    break;

}

}

return 0;

 } 


 

0.0分

0 人评分

  评论区

  • «
  • »