规则:n个人围成一个圆圈,由第1个人开始报数,每报数到3的人就淘汰,然由再由下一个人重新开始报数,最后剩第几号人。
#include<stdio.h>
int main()
{
int i,j,r,n,k=0;
printf("输入参加约瑟夫环游戏的人数:");
scanf("%d",&n);
int a[n];
i = 0;
static int m = 0;
while( i < n)
{
a[i] = i + 1;
i++;
}
i = 0;
while( m < n-1)
{
if( a[i] != 0)
{
k++;
}
if( k == 3)
{
a[i] = 0;
printf("第%d位被淘汰\n",i);
m++;
k = 0;
}
i ++;
if(i == n)
{
i = 0;
}
}
i = 0;
while(a[i] == 0)
{
i++;
}
printf("最后剩下第%d号",i);
printf("\n");
return 0;