蓝桥杯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。

输出格式

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

数据范围

1 n 10000

输入样例:

40

输出样例:

574

代码

#include<stdio.h>
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++语言每日一题特殊数的和的主要内容,如果未能解决你的问题,请参考以下文章

C语言蓝桥杯每日一题—— 既约分数

蓝桥杯C/C++每日一练之数列特征

蓝桥杯C/C++每日一练之特殊的数字

蓝桥杯C/C++每日一练之特殊的数字

蓝桥杯每日一练之特殊回文数

蓝桥杯每日一题冲刺国赛