tanakahdaのプログラマ手帳

プログラミングとかソフトウェア開発とかの備忘録

素因数分解@Java

		Scanner scanner = new Scanner(System.in);
		System.out.println("0以上の整数を入力してください > ");

		int num = 0;
		try {
			num = Integer.parseInt(scanner.nextLine());
		} catch (NumberFormatException e) {
			System.err.println("数字を入力してください");
			scanner.close();
			return;
		}
		if (num <= 0) {
			System.err.println("0以上の整数を入力してください");
			scanner.close();
			return;
		}

		int i = 2;
		String result = num + " = ";
		while (num != 1) {
			if (num % i == 0) {
				result += i + " * ";
				//System.out.println("num = " + num + " 素因数 = " + i);
				num /= i;
			} else {
				i++;
			}
		}
		// 末尾の" * "を削除して、素因数を分解する式を表示する
		System.out.println(result.substring(0, result.length() - 3));
		scanner.close();