1465: [蓝桥杯2019初赛]特别数的和
时间限制: 1 Sec 内存限制: 256 MB 题目描述 小明对数位中含有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 <bits/stdc++.h> using namespace std ; int n ; long long ans = 0 ; int main ( ) { cin >> n ; for ( int i = 1 ; i <= n ; i ++ ) { int t = i , flag = 0 ; while ( t ) { int k = t % 10 ; if ( k == 0 || k == 1 || k == 2 || k == 9 ) { flag = 1 ; break ; } t / = 10 ; } if ( flag ) ans + = i ; } cout << ans << endl ; return 0 ; } 来源: CSDN 作者: 学算法的小菜鸟 链接: https://blog.csdn.net/qq_42090769