基础题,直接见cpp代码。
#include <cstdio>
int n;
int per[4]={0};
bool have7(int i)
{
int t=i;
while(t)
{
if( t%10 == 7 )
return true;
else
t/=10;
}
return false;
}
int main() {
scanf("%d",&n);
int num=1; //当前的数字
int j=0; //当前的人的序号
int count=0; //当前数了count个数字
while(true)
{
if( num%7==0 || have7(num) )
{
per[j]++; //j被跳过了一次
j++; //跳到下一个人
j %= 4;
num++;
continue;
}
j++;
j %= 4;
num++;
count++; //报数的数量
if( count == n)
break;
}
for(num=0;num<4;num++)
printf("%d\n",per[num]);
return 0;
}