第十屆藍橋杯C語言大學B組C/C++ 試題F:特別的數

Mr.Mayuyuyuyu發表於2020-10-07

問題描述
小明對數位中含有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 sum=0,pog=0;
	int i,j,n;
	scanf("%d",&n);
	for(j=1;j<=n;j++)
	{
		pog=0;
		i=j;
		while(i!=0)//讓i進入判斷數字,以防改變j
		{	
			if(i%10==2||i%10==0||i%10==1||i%10==9)
			{
				pog=1;//觀測值
			}
			i=i/10;
		}	
		if(pog==1)
		{
			sum+=j;
		}	
	}
	printf("%d",sum);
	return 0;
}

結果

在這裡插入圖片描述

相關文章