题目链接:1245. 特别数的和
小明对数位中含有 2、0、1、9 的数字很感兴趣(不包括前导 0),在 1 到 40 中这样的数包括 1、2、9、10 至 32、39 和 40,共 28 个,他们的和是 574。请问,在 1到 n中,所有这样的数的和是多少?
输入格式 共一行,包含一个整数 n。
输出格式 共一行,包含一个整数,表示满足条件的数的和。
数据范围 1≤n≤10000
输入样例: 40
输出样例: 574
#include <iostream>
using namespace std
;
int n
, res
;
int main() {
cin
>>n
;
for(int i
= 1; i
<= n
; i
++) {
int x
= i
;
while(x
) {
int t
= x
% 10;
x
/= 10;
if(t
== 2 || t
== 0 || t
== 1 || t
== 9) {
res
+= i
;
break;
}
}
}
cout
<<res
;
return 0;
}