「ゴールドバッハの予想」とは、次のようなものです。これを言い直すと、6以上の偶数は2つの素数の和であらわすことができる。この問題は、数学の未解決問題の一つとして知られてて、1742年に数学者・ゴールドバッハがオイラー宛ての手紙の中で5よりも大きい自然数は3つの素数の和であらわすことができる。予想したことから来ています。この予想と最初の予想が、同値であるのかという証明は、Webで検索するといろんなページがヒットしますので、そちらを参照してください。とすべてを調べるのは時間がかかるので、入力された6以上の偶数(longまでの値)が、「2つの素数の和であらわすことができ」かを確認するプログラムとします。C#のコード以下に、C#のコード(コンソールアプリ)を示します。Console.Error.WriteLine("入力形式が異なります。6以上の偶数を入力してください。Console.Error.WriteLine("6以上の偶数を入力してください。};と配列を返しています。2つのプロパティを持つ専用のクラスを定義するよりもこの方が簡単です。Item2という名前がどうも好きになれません。PrimeNumber.IsPrimeは、「C#:ミラー・ラビン素数判定法を使い素数判定メソッドを書いてみた」で示した、メソッドを利用しています。「6以上、1000万までの偶数は2つの素数の和であらわすことができるか」を調べるという問題だとすると、僕のPCだと1分くらいでした。それなりの速度が出ていると思います。検証する範囲をさらに拡大しようとした場合、このプログラムだとちょっと苦しいかなと感じます。並列処理するようなプログラムにする必要があるかもしれません。Pageで公開したものを加筆・修正したものです。C#7.0でこの状況は改善されそうなので、期待しています。upLoginユーザーは見つかりませんでした。