竞赛讨论区 > 用数组来遍历
头像
东条希尔薇233
发布于 2021-10-29 12:12
+ 关注

用数组来遍历

#include<stdio.h>

int main()
{
    int arr[100]={0};
    int n=0;
    int k=0;
    int m=0;
    scanf("%d%d%d",&n,&k,&m);
    int cur=1;//报的序号
    for(int i=0;i<n;i++)
    {
        arr[i]=1;
    }
    int i=k-1;//遍历的编号编号,由于数组特性要减一
    int peo=n;//记录剩余人数
    
    while(peo!=1)
    {
        if(i>=n)
        {
            i=0;//人数报完了就重置
        }
        if(arr[i]==0)
        {
           i++;
           continue;//没有人了,就不能继续报数了,直接跳过即可
           
        }
        if(cur==m)
        {
            //需要判断淘汰后的情况
            
            arr[i]=0;
            peo--;
            cur=0;
        }
        
        cur++;
        i++;
    }
    for(i=0;i<n;i++)
    {
        if(arr[i]==1)
        {
            printf("%d\n",i+1);
            break;
        }
    }
    return 0;
}

全部评论

(0) 回帖
加载中...
话题 回帖

本文相关内容

等你来战

查看全部

热门推荐