[蓝桥杯 2019 省 B] 特别数的和-C语言的解法

 

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

请问,在 1 到 n 中,所有这样的数的和是多少?

输入格式

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

输出格式

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

输入输出样例


输入:40                                                                    输出:574


#include<stdio.h>
int main()
{
	int  n = 0, sum = 0, number = 0;
	scanf("%d", &n);
	for (int i = 1; i <= n; i++)
	{
		sum = i;
		while (sum != 0)
		{
			if (sum % 10 == 2 || sum % 10 == 0 || sum % 10 == 1 || sum % 10 == 9)
			{
				number += i;
				break;
			}
			
			sum /= 10;
		}
	}
	printf("%d", number);
	return 0;
}

 

网上关于蓝桥杯的C语言解法很少,很难得到学术上的借鉴。博主大一能力有限,只能提供一些入门到普及阶段题目C的解法。

猜你喜欢

转载自blog.csdn.net/2301_79201049/article/details/134672713