为啥通过是%0捏,求大佬看看
#include<stdio.h>
int main(void)
{
int n, k, m;
scanf("%d%d%d",&n,&k,&m);
int data[100];
for( int y = 0; y < 100; y++ ){//初始化数组都为“1”
data[y] = 1;
}
int sum;
int o = 0;
int p = 1;
int ret = 0;
do{
sum = 0;//重置数据总和为0
o = ret;//让“o”为淘汰数的下一个
while( p <= m )//找到下一个要淘汰的数
{
o++;
if( o > n )//让此层循环在1~n内循环
{
o = 1;
}
if( data[o] == 1 )//找到存活的数,并计数
{
p++;
ret = o;
}
}
p = 1;//为找下一个淘汰数重置p值
data[ret] = 0;//将找到的第m个数淘汰
for( int j = 1; j <= n; j++ )//计算1~n内数据和
{
sum += data[j];
}
}while( sum > 1 );//判断是否结束游戏(初始总数据和为n,结束时总数据和为1)
for( int l = 1; l <= n; l++ )//找到胜出的数
{
if( data[l] == 1 )
{
printf("%d",l);//输出胜出数
}
}
return 0;
}