2019年蓝桥杯C/C++大学B组省赛真题(特别数的和)
题目描述:
小明对数位中含有2、0、1、9 的数字很感兴趣(不包括前导0)
在1到40中这样的数包括1、2、9、10 至32、39 和40,共28 个,他们的和是574。
请问,在1到n 中,所有这样的数的和是多少?
代码:
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
cin>>n;
int res=0;
for(int i=0;i<=n;i++){
string s=to_string(i);
if(s.find('2')!=-1||s.find('0')!=-1||s.find('1')!=-1||s.find('9')!=-1){
res+=i;
}
}
cout<<res<<endl;
return 0;
}