ゴールドバッハの予想のJavaプログラム
ゴールドバッハの予想とは、すべての偶数は2つの素数の和として表せるという予想です。
つまり、2を除くすべての偶数nについて、素数pとqが存在し、n=p+qとなるということです。
例えば、4=2+2, 6=3+3, 8=3+5, 10=3+7=5+5, 12=5+7, 14=3+11=7+7などが当てはまります。
この予想は1742年にドイツの数学者クリスティアン・ゴールドバッハによって提唱され、未だに解決されていません。
現代の数学では、ゴールドバッハの予想は未解決問題の1つとして扱われています。
import java.util.*;
public class GoldbachConjecture {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("Enter the even number to find its two prime summands:");
int n = sc.nextInt();
if (n % 2 != 0 || n <= 2) {
System.out.println("Invalid input!");
return;
}
findPrimeSummands(n);
}
public static void findPrimeSummands(int n) {
for (int i = 2; i <= n / 2; i++) {
if (isPrime(i)) {
int j = n - i;
if (isPrime(j)) {
System.out.println(n + " = " + i + " + " + j);
}
}
}
}
public static boolean isPrime(int n) {
if (n == 2) {
return true;
}
if (n < 2 || n % 2 == 0) {
return false;
}
for (int i = 3; i <= Math.sqrt(n); i += 2) {
if (n % i == 0) {
return false;
}
}
return true;
}
}
このプログラムでは、ユーザーに偶数を入力するように求めます。
入力が偶数であることと、2より大きいことを確認します。
偶数の各値について、2つの素数がその和として見つかるかどうかを確認します。
2つの素数が見つかった場合、その値を表示します。
このプログラムですべての偶数について2つの素数を見つけることができます。
ゴールドバッハの予想のJavaプログラム 最後までお読みいただきありがとうございます。
投稿者プロフィール
-
セイ・コンサルティング・グループ株式会社代表取締役。
岐阜県出身。
2000年創業、2004年会社設立。
IT企業向け人材育成研修歴業界歴20年以上。
すべての無駄を省いた費用対効果の高い「筋肉質」な研修を提供します!
この記事に間違い等ありましたらぜひお知らせください。
最新の投稿
- 新入社員2024年11月23日「ゲシュタルト崩壊」とシステム開発
- 新入社員2024年11月23日データベースでテーブル名やフィールド名にスペースを使うことは、一般的には推奨されていません
- 新入社員2024年11月23日「データにはなぜ型が必要なのか?」を2進数の観点から解説
- 新入社員2024年11月23日ディスプレイの解像度の意味と変更方法