#include
void main()
{ int findnext(int per[],int lastdie);
int i,lastdie,nowdie;
int per[30];
for(i=0;i<30;i++)
per=1;
per[8]=0; //第一个跳
lastdie=8;
for(i=0;i<14;i++) //还有14个要跳
{ nowdie=findnext(per,lastdie);//找出下一个要跳的人的编号
per[nowdie]=0;
lastdie=nowdie;
}
printf("\n");
for(i=0;i<30;i++)
if(per==1)
printf("%3d",i+1);
}
int findnext(int per[],int lastdie)
{ int i=0;
int num=lastdie;
while(i<=9)
{ num++;
if(num==30) num=0;
// num=(num+1)%30;
if(per[num]==1) i++;
if((i==9)&&(per[num]==1)) break;
}
return num;
}
先将30个人编号,1到30,程序输出最后没有跳下去的人的编号。 |