欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

试题历届真题特别数的和【第十届】【省赛】【B组】(C++)

时间:2023-05-29

资源限制

时间限制:1.0s 内存限制:256.0MB

问题描述

小明对数位中含有 2、0、1、9 的数字很感兴趣(不包括前导 0),在 1 到40 中这样的数包括 1、2、9、10 至 32、39 和 40,共 28 个,他们的和是 574。请问,在 1 到 n 中,所有这样的数的和是多少?

输入格式

输入一行包含两个整数 n。

输出格式

输出一行,包含一个整数,表示满足条件的数的和。

样例输入

40

样例输出

574

评测用例规模与约定

对于 20% 的评测用例,1 ≤ n ≤ 10。 对于 50% 的评测用例,1 ≤ n ≤ 100。对于 80% 的评测用例,1 ≤ n ≤ 1000。对于所有评测用例,1 ≤ n ≤ 10000。

代码如下:

#include using namespace std; bool check(int x) {int t;while (x) {t = x % 10;if (t == 2 || t == 0 || t == 1 || t == 9) {return true;}x /= 10;}return false;} int main() {int n, sum = 0;cin >> n;for (int i = 1; i <= n; i++) {sum += i * check(i);}cout << sum;}

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。