为啥通过是%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;

}

全部评论
还没学数组看不辽
点赞 回复 分享
发布于 2024-10-30 21:26 江苏

相关推荐

评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务