ゴールドバッハ予想では、2より大きいすべての偶数は2つの素数の合計として表現できると述べています。例えば、
4 = 2 + 2
6 = 3 + 3
8 = 5 + 3
ただし、10に達すると、興味深いことが起こります。10と書けるだけでなく、
5 + 5
しかし、次のように書くこともできます
7 + 3
10は2つの素数の和として2 つの方法で表現できるため、10 の「ゴールドバックパーティション」はであると言います2
。またはより一般的には、
数のゴールドバッハパーティションが書き込みの異なる方法の合計数である
n = p + q
場合p
とq
素数であり、そしてp >= q
あなたの課題は、番号のGoldbachパーティションを見つけるプログラムまたは関数を書くことです。現在、技術的には「Goldbachパーティション」という用語は偶数を指すためにのみ使用されています。ただし、p> 2が素数の場合、奇数の整数p + 2は2つの素数の和としても表現できるため、これをすべての正の整数(A061358)に拡張します。
入力は常に正の整数であり、関数の引数と戻り値、STDINとSTDOUT、ファイルの読み取りと書き込みなど、許可されているデフォルトのメソッドのいずれかで入力と出力を受け取ることができます。
100までの正の整数のGoldbachパーティションは次のとおりです。
0, 0, 0, 1, 1, 1, 1, 1, 1, 2, 0, 1, 1, 2, 1, 2, 0, 2, 1, 2, 1, 3, 0, 3, 1,
3, 0, 2, 0, 3, 1, 2, 1, 4, 0, 4, 0, 2, 1, 3, 0, 4, 1, 3, 1, 4, 0, 5, 1, 4,
0, 3, 0, 5, 1, 3, 0, 4, 0, 6, 1, 3, 1, 5, 0, 6, 0, 2, 1, 5, 0, 6, 1, 5, 1,
5, 0, 7, 0, 4, 1, 5, 0, 8, 1, 5, 0, 4, 0, 9, 1, 4, 0, 5, 0, 7, 0, 3, 1, 6
いつものように、標準的な抜け穴が適用され、バイト単位の最短回答が勝ちます!