约瑟夫环求解

来源:互联网 发布:手机淘宝店铺入口 编辑:程序博客网 时间:2024/06/06 20:55


/*约瑟夫环*/

#include <stdio.h>


int main()
{
int i=0;
int j=0;
int SIZE;
int count;
int a[40];
int b[40];
int num=0;
int location=0;
  printf("输入数组大小:");
scanf("%d",&SIZE);
printf("请输入%d个数:",SIZE);
for(i=0;i<SIZE;i++)
{
scanf("%d",&a[i]);
}
printf("输入循环数:");
scanf("%d",&count);
for(i=0;i<SIZE;i++)
{
if(a[i]==0)
{
if(i==SIZE-1)
i=-1;
continue;
}
else
{
num++;
if(num==count)
{
num=0;
b[j]=a[i];
a[i]=0;
location=i;
j++;
if(j==SIZE)
{
break;
}
}
}
if(i==SIZE-1)
{
i=-1;
}
}
printf("幸存者为a[%d]=%d\n",location,b[SIZE-1]);
printf("\n");
return 0;

}