思路
一开始fun函数是这么写的
int fun(int n){
string s=to_string(n);
if(s.find("7")!=s.npos) return 1;
else return 0;
}
然后显示编译错误。。。。。。。。
测视了测试发现用to_string(n);会显示编译错误。。。。。。。。
一想到好多方便的函数在CCF里面不能用就头疼。。。。。
用stringstream可实现转换成字符串
int fun(int n){
stringstream ss;
string s;
ss<<n;
ss>>s;
if(s.find("7")!=s.npos) return 1;
else return 0;
}
AC代码
#include<bits/stdc++.h>
using namespace std;
int fun(int n){
while(n){
if(n%10){
if(n%10%7==0)
return 1;
}
n=n/10;
}
return 0;
}
int main(){
int xx[4];
memset(xx,0,sizeof(xx));
int n,count=0;
cin>>n;
for(int i=1;count<n;i++){
if(i%7==0||fun(i)){
xx[i%4]++;
count--;
}
count++;
}
cout<<xx[1]<<endl;
cout<<xx[2]<<endl;
cout<<xx[3]<<endl;
cout<<xx[0]<<endl;
return 0;
}