ugghfhggh 发表于 2013-10-7 21:32:20

约瑟夫问题数组实现

#include<stdio.h>
#include<string.h>

#define COUNT 9

char a;

int main()
{
    freopen("input.txt","r",stdin);
    freopen("output.txt","w",stdout);
   
    int n,i;
    int killed=0;
    int count=0;
   
    scanf("%d",&n);
    memset(a,'@',sizeof(a));
   
    for(i=0;killed<n;i++)
    {
      if(i==2*n)
      {
            i=0;
      }
      if(a!='+')
      {
            count++;
      }
      if(count==COUNT)
      {
            count=0;
            a='+';
            killed++;
      }
    }

    for(i=0;i<n*2;i++)
    {
      printf("%c",a);
    }

    return 0;
}



不知道有错没有,测试的数据通过了,感觉逻辑是对的,如果没错的话,这个看上去比循环链表简单一点

页: [1]
查看完整版本: 约瑟夫问题数组实现