bacmive


私信TA

用户名:bacmive

访问量:19733

签 名:

努力、奋斗

等  级
排  名 299
经  验 5601
参赛次数 0
文章发表 36
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

解题思路:

参考代码:

#include<stdio.h>
#include<stdlib.h>

int n,m;
int *a;

void init();
void count_off();
void output();

int main()
{
   while(scanf("%d %d",&n,&m)==2)
   {
       init();
       count_off();
       output();
   }
   return 0;
}

void init()
{
    int i;
    a=(int*)malloc(sizeof(int)*(n+1));
    for(i=0;i<=n;i++) a[i]=1;
}

void count_off()
{
    int i,j,k;
    i=1;j=1;k=0;//i记录出局人数;j是数组循环计数器;k用来判断是否应该出局
    while(i<=n-1)
    {
        if(a[j]) ++k;
        if(k==m)
        {
            a[j]=0;
            k=0;
            i++;
        }
        j++;
        if(j==(n+1)) j=1;
    }
}

void output()
{
    int i;
    for(i=1;i<=n;i++)
        if(a[i]==1) printf("%d\n",i);
    free(a);
}


 

0.0分

0 人评分

  评论区

  • «
  • »