蓝桥杯C/C++语言每日一题特殊数的和
Posted 电子信息笔记本
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了蓝桥杯C/C++语言每日一题特殊数的和相关的知识,希望对你有一定的参考价值。
小明对数位中含有 2、0、1、9的数字很感兴趣(不包括前导0),在1到40中这样的数包括1、2、9、10至32、39和40,共28个,他们的和是574。请问,在1到n中,所有这样的数的和是多少?
输入格式
共一行,包含一个整数n。
输出格式
共一行,包含一个整数,表示满足条件的数的和。
数据范围
输入样例:
40
输出样例:
574
代码
int n;
int sum;
int main() {
printf("请输入n :");
scanf("%d",&n);
for (int i = 1; i <= n; i++) {
int tap = i;
while (tap) {
int t = tap % 10;//求出个位
if (t == 0 || t == 1 || t == 2 || t == 9) {
sum += i;
break;
}
tap /= 10;//依次循环,第一次为十位,然后百位,依次类推。
//表示依次找出各个位置上是否含有0,1,2,9即可。
}
}
printf("%d\n",sum);
return 0;
}
结果:
以上是关于蓝桥杯C/C++语言每日一题特殊数的和的主要内容,如果未能解决你的问题,请参考以下文章