代码
#include<iostream>
using namespace std;
int main(){
int n;
cin>>n;
int num=0,a=0,b=0,c=0,d=0;
for(int i=1;;i++){
int flag=0;
if(i%7==0)
flag=1;
int j=i;
while(j>0){
if(j%10==7){
flag=1;
break;
}
j/=10;
}
if(i%4==1&&flag==1)
a++;
if(i%4==2&&flag==1)
b++;
if(i%4==3&&flag==1)
c++;
if(i%4==0&&flag==1)
d++;
if(flag==0)
num++;
if(num==n)
break;
}
cout<<a<<endl<<b<<endl<<c<<endl<<d;
}
稍微更改了一下,感觉这样更简单明了一点
#include<iostream>
using namespace std;
int check(int n){
if(n%7==0)
return 0;
while(n){
if(n%10==7)
return 0;
n/=10;
}
return 1;
}
int main(){
int n;
cin>>n;
int a[4]={0},num=0,i=1;
while(1){
if(check(i))
num++;
else
a[i%4]++;
i++;
if(num==n)
break;
}
for(int i=1;i<4;i++){
cout<<a[i]<<endl;
}
cout<<a[0];
}