这题简单枚举就完事了,因为n不是一个确定的数所以最好调用函数来做,而且关于调用函数怎么设计还是有点技巧的.代码如下:
#include<bits/stdc++.h>
using namespace std;
bool isok(int x) {
for (; x > 0; x /= 10)
if (x % 10 == 2 || x % 10 == 0||x%10==1||x%10==9) return true;
return false;
}
int main(){
int n,sum=0;
cin>>n;
for(int i=1;i<=n;i++){
if(isok(i)){
sum+=i;
}
}
cout<<sum<<endl;
return 0;
}