【課題】内容
デジタル暁2,0,1,9の数字が1に、(先頭の0は含まない)は、非常に興味を含む
39、32にそのような番号1,2,9,10および40を含む、40 28の合計、と彼らは574です。
1からnまで、このようなすべての数字とどのくらいだろうか?
[入力形式の
入力ラインは、N 2つの整数を含んでいます。
[]出力フォーマット
整数を含む出力ラインを、条件を満足する数を表します。
[サンプル入力]
40
[出力]サンプル
574
[評価例]サイズ及び使用規則
例では20%の評価のために、1≤N≤10。
実施例中50%、1≤N≤100による評価のため。
実施例1 80%の評価のため≤N≤1000
評価のためにすべてのユースケース、1≤N≤10000。
この問題のようオーバーフローを防ぐために、万N、大量に使用されるタイプに連れて行くことができます。
インポートjava.math.BigIntegerの、 インポートjava.util.Scanner; パブリック クラスメイン { パブリック 静的 ブールファン(INT NUM) { 文字列S = String.valueOf(NUM); // 文字列INT変換 CHAR [] =アートs.toCharArray(); //は、配列に文字列を変換 するための(INT I = 0; I <s.length(); I ++ ) { IF(アート[I] == '2' ||アート[I] = = '0' ||アート[I] == ||アート[I] == '1' ' 9' ) { リターン trueに; } } リターン falseに; } 公共の 静的な 無効メイン(文字列[]引数) { // TODO自動生成されたメソッドスタブ スキャナスキャナ= 新しい新しいスキャナ(System.in); INT A = scanner.nextInt(); BigIntegerのSUM = 新しい新規のBigInteger( " 0 " ); のための(INT I = 1; I <= A; I ++ ) { がiF(ファン(I))// か否かを判定するが2,0,1,0 { 文字列NUM = String.valueOf(I)。// 私は、文字列に変換されます 一= BigIntegerの新しい新 AのBigInteger(NUM); // 大量にクラス数 SUM = sum.add(一); // 条件を満足する数蓄積する // するSystem.out.println(SUM)を; } } システム.out.print(SUM); } }