結果
問題 | No.207 世界のなんとか |
ユーザー |
|
提出日時 | 2017-06-07 19:16:27 |
言語 | Java (openjdk 23) |
結果 |
AC
|
実行時間 | 56 ms / 5,000 ms |
コード長 | 2,634 bytes |
コンパイル時間 | 3,564 ms |
コンパイル使用メモリ | 77,992 KB |
実行使用メモリ | 50,404 KB |
最終ジャッジ日時 | 2024-09-22 12:45:33 |
合計ジャッジ時間 | 5,436 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 19 |
ソースコード
package test_5;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.ArrayList;/*** A以上B以下の整数のうち、3の倍数および3の付く数を、小さい順に出力してください。* なお、「3の付く数」とは、10進数表記にした時、少なくとも1つの桁が3であるような数のことです。*/public class Question_13_0607_1 {static final int FIRST_MIN = 1;static final int SECONTD_MIN = 1;static final int DIFF_MIN = 0; // 差分 differencestatic final int FIRST_MAX = 2000000000;static final int SECONTD_MAX = 2000000000;static final int DIFF_MAX = 100;public static void main(String[] args) {InputStreamReader re = new InputStreamReader(System.in);BufferedReader br = new BufferedReader(re);ArrayList<Integer> resultList = new ArrayList<Integer>();try {String[] input = br.readLine().split(" ");int firstNum = Integer.parseInt(input[0]);int secondNum = Integer.parseInt(input[1]);int diffNum = secondNum - firstNum;// 入力値判定if (NumJudg(firstNum, FIRST_MIN, FIRST_MAX) && NumJudg(secondNum, SECONTD_MIN, SECONTD_MAX)&& NumJudg(diffNum, DIFF_MIN, DIFF_MAX)) {// 数値チェックfor (int i = firstNum; i <= secondNum; i++) {if (i % 3 == 0) {resultList.add(i);} else if (threeJudg(i)) {resultList.add(i);}}// 表示for (int num : resultList) {System.out.println(num);}} else {System.out.println("入力値が有効範囲外です");}} catch (NumberFormatException e) {System.out.println("数字を入力して下さい。");} catch (IOException e) {System.out.println("エラーが発生しました。");} finally {try {re.close();br.close();} catch (IOException e) {System.out.println("InputStreamReader、BufferedReaderクローズ中にエラーが発生しました");}}}/*** 有効値判定* @param input 判定するもの* @param max 最大値* @param min 最小値* @return 範囲内ならtrue,範囲外ならfalseを返す*/private static boolean NumJudg(int input, int min, int max) {Boolean result = false;if (min <= input && input <= max) {result = true;}return result;}/*** 有効値判定* @param input 判定するもの* @return 3を含むならTrueを返す*/private static boolean threeJudg(int input) {Boolean result = false;String str = String.valueOf(input);if (str.contains("3")) {result = true;}return result;}}