题目描述
相信大家都看懂了,就是一个数的每个位如果出现上面的某一个数就加起来求和
样例
40
574
算法1
stringstream技巧
就是把一个int通过stringstream转换为字符串来挨个判断
时间复杂度
菜鸡不会算这个的时间复杂度,有大佬能告诉菜鸡吗qwq
C++ 代码
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cmath>
#include <cstring>
#include <sstream>
using namespace std;
int n;
string s;
bool check(int a){
stringstream ss;
ss << a;
ss >> s;
for (int i = 0; i < s.size(); i++){
if(s[i] == '2' || s[i] == '0' || s[i] == '1' || s[i] == '9')
return true;
}
return false;
}
int main(){
cin >> n;
int ans = 0;
for (int i = 1; i <= n; i++){
if(check(i)){
ans += i;
}
}
cout << ans;
return 0;
}