C语言练习(蓝桥杯)---求和

题目:小明对数位中含有2、0、1、9的数字很感兴趣,在1到40中这样的数包括1、2、9、10至32、39和40,共28个,它们的和为574。

        求,在1到2019中,所有这样的数的和为多少?

#include
int Get_Sum(int tmp)
{
	int sum = 0;
	int n = 0;
	for (int i = 1; i <= tmp; i++)
	{
		n = i;
		while (n)
		{
			if (n % 10 == 2 || n % 10 == 0 || n % 10 == 1 || n % 10 == 9)
			{
				sum += i;
				break;
			}
			else 
			{
				n = n / 10;
			}
			
		}
	}
	return sum;
}

int main()
{
	int n = 0;
	scanf_s("%d", &n);
	printf("%d\n", Get_Sum(n));
	return 0;
}

首先输入40来测试一下: 

C语言练习(蓝桥杯)---求和_第1张图片 

输入2019 

 C语言练习(蓝桥杯)---求和_第2张图片

 

你可能感兴趣的:(C语言,蓝桥杯,c语言)