甲乙丙丁决定玩一个报数的游戏来打发时间。游戏规则为四个人从1开始轮流进
行报数,但如果需要报出的数是7的倍数或含有数字7直接跳过。
此外大家约定,在总共报出了n个数后(不计入被跳过的数)游戏结束。现在需要
你来帮帮忙统计,游戏过程中每个人各自跳过了几次。
输入格式:
输入仅一行,包含一个正整数n,表示报出了多少个数后游戏结束
输出格式:
输出到标准输出
输出共四行,每行一个整数,一次表示甲乙丙丁死人在游戏过程中跳过的次数。
样例输入:
20
样例输出:
2
1
1
0
#include<stdio.h>
#include<iostream>
using namespace std;
int main()
{
int n,i,j=0;
int flag[4]={0};
cin>>n;
for(i=1;i<=n;i++)
{
int num[7]={0};//保存计数数值
if(j>3)
{
j=0;//甲乙丙丁4人,过丁(3)之后,甲开始报数(0)
}
int a,t=0,p=0;
a=i;
while(a!=0)
{
num[p]=a%10;//报数数值按位存进num数组
p++;
a=a/10;
}
int k=0;
while(k<p)
{
if(num[k]==7)//判断数组中是否有数字7
{
t=1;//有则标记
break;
}
k++;
}
if(i%7==0||t==1)//根据标记和倍数关系记录结果
{
n++;
flag[j]++;
j++;
continue;
}
j++;
}
for(i=0;i<4;i++)
{
cout<<flag[i]<<endl;;
}
return 0;
}