报数
100
任务要求
评论201
任务描述
任务描述
题目描述:有n人围成一圈,顺序排号。从第1个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来的第几号的那位。
####相关知识(略)
####编程要求
请仔细阅读右侧代码,结合相关知识,在Begin-End区域内进行代码补充。
输入

初始人数n
输出

最后一人的初始编号
####测试说明
样例输入:

3
样例输出:

2

#include<stdio.h>
int main(void)
{
   
    /*********Begin*********/
    int n;
    int a[1000];
    int flag=0,cnt;
    scanf("%d",&n);
    cnt=n;
    for(int i=1;i<=n;i++){
   
        a[i]=1;
    }
    for(int i=1;;i++){
   
        if(i==n+1){
   
            i=1;
        }
        if(a[i]!=0){
   
            flag++;
        }else{
   
            continue;
        }
        if(flag%3==0){
   
            a[i]=0;
            cnt--;
        }
        if(cnt==1){
   
            break;
        }
    }
    for(int i=1;i<=n;i++){
   
        if(a[i]!=0){
   
            printf("%d",i);
        }
    }

    /*********End**********/
    return 0;
}