藍橋杯——特別數的和

Blue Fat發表於2020-10-10

【問題描述】

小明對數位中含有 2、0、1、9 的數字很感興趣(不包括前導 0),在 1 到
40 中這樣的數包括 1、2、9、10 至 32、39 和 40,共 28 個,他們的和是 574。
請問,在 1 到 n 中,所有這樣的數的和是多少?

【輸入格式】

輸入一行包含兩個整數 n。

【輸出格式】

輸出一行,包含一個整數,表示滿足條件的數的和。

【樣例輸入】

40

【樣例輸出】

574

【評測用例規模與約定】

對於 20% 的評測用例,1 ≤ n ≤ 10。
對於 50% 的評測用例,1 ≤ n ≤ 100。
對於 80% 的評測用例,1 ≤ n ≤ 1000。
對於所有評測用例,1 ≤ n ≤ 10000。

【程式碼】

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		long result = 0;
		for (int i = 1; i <= n; i++) {
			String str = i + "";
			if (str.contains("2") || str.contains("0") || str.contains("1") || str.contains("9")) {
				result += i;
			}
		}
		System.out.println(result);
	}
}```