甲乙丙丁决定玩一个报数的游戏来打发时间。游戏规则为四个人从1开始轮流进行报数,但如果需要爆出的数是7的倍数或含有数字7则直接跳过。
此外大家约定,在总共报出了n个数后(不计入被跳过的数)游戏结束。现在需要你来帮忙统计,游戏过程中每个人各自跳过了几次。
0<n<1000
题目来源csp.
#include <stdio.h>
int main()
{
int y[1000],a,i,gw,sw,bw,j=0,n=0,k=0,l=0,m=0,q=0;
scanf ("%d",&a);
for (i=1;i<=a;i++) //
{ bw=i/100;
sw=i/10%10;
gw=i%10;
if (i%7==0)
n++,j++,y[j]=i,
a++;
else{
if(gw==7)
n++,j++,y[j]=i,a++;
else if(sw==7)
n++,j++,y[j]=i,a++;
else if(bw==7)
n++,j++,y[j]=i,a++;
}
}
for (j=1;j<=n;j++)
{
for (i=1;i<=a;i+=4)
{if (y[j]==i)
k++;}
for (i=2;i<=a;i+=4)
{if (y[j]==i)
l++;}
for (i=3;i<=a;i+=4)
{if (y[j]==i)
m++;}
for (i=4;i<=a;i+=4)
{if (y[j]==i)
q++;}
}
printf ("%d\n%d\n%d\n%d\n",k,l,m,q);
return 0;
}