一、题目描述
二、代码实现
#include<iostream>
#include<bits/stdc++.h>
using namespace std;
//判断x是否为7的倍数
bool seven(int x)
{
while(x)
{
if(x % 10 ==7) return true;
x /= 10;
}
return false;
}
int main()
{
int n;
cin>>n;
//step用来记录目前已经数了多少个数(不包括要跳过的数)
int step = 0;
int num[4] = {0};
//i用来记录目前已经数了多少个数(包括要跳过的数)
int i = 0;
while(step<n)
{
int index = i + 1;
//如果数字含有7或者是7的倍数,则跳过,对于数组+1记录跳过的次数
if(index % 7 ==0 || seven(index))
{
num[i%4]++;
i++;
}
else
{
step++;
i++;
}
}
for(int j=0;j<4;j++)
{
cout<<num[j]<<endl;
}
return 0;
}