#include <stdio.h>
void main()
{
int a[100][5]
int i,j,n//n表示枣改案例个数
int sum=0//统计出局闹野人数
int t=0//计数器
int k//数到k后出局
scanf("%d",&n)
for (i=0i<ni++)
for (j=0j<5j++)
scanf("%d",&a[i][j])//输入数据
//下面模拟该过程
for (i=0i<ni++){
k=a[i][0]//取第一个人手中的数
sum=0
t=0
for (j=1sum<凳弯判4j++){
if (j%5==0) j=0//控制循环
if (a[i][j]!=0) t=t+1//计数
if ((t%k==0)&&(t!=0)) {
k=a[i][j]//取出局人的数
a[i][j]=0//出局标记
sum=sum+1//计数出局人数
t=0//计数清零
}
}
}
//输出结果
for (i=0i<ni++)
for (j=0j<5j++)
if (a[i][j]!=0) printf("%d\n",j+1)//输出胜利者是第几号
}
此题显然有误——
当n取1或2时能找到比1、2小的素数m吗?
当n取3时,比3小的素数只有2一个,喝3杯后肯定没有人喝到5杯,出不了结果,还要继续喝下去,但得换一个“以前没有用过的素数m”,只有一个2,再换换谁呢?
当n取5时,提问者桐纳可以自行演绎一局戚没下,同样存在2所指出的问题仔森。
这题也很毛糙,如“将第一个喝到5杯酒的人指出来”——假设没有上述错误,按照题设规则,难道还会有第二个、第三个……喝到5杯的人吗?不可能啊,只要有人喝到5杯了游戏立马就结束了!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)