見出し画像

偶数・奇数の不思議#12

(2より大きい)偶数は2つの素数の和で表せる(ゴールドバッハ予想)、(5より大きい)奇数は3つの素数の和で表せる(弱いゴールドバッハ予想)、など任意の自然数は2個か3個の素数の和で表せる。特に、ゴールドバッハ予想はいまだに未解決だ。興味ある読者は検索すれば多くのサイトで詳細な説明がわかる。ちなみに、隣り合う平方の間には素数が存在する(ルジャンドル予想)のほうも未解決問題。
偶数が2つの素数で表せる、ならば弱いゴールドバッハ予想も正しい。単純化した証明は以下のようになる。3つの数の和が「奇数」になる組み合わせは、(1)奇数+奇数+奇数 か (2)偶数+偶数+奇数 しかない。例えば、奇数が2つと偶数の組み合わせだと、3+5+4 = 12と偶数になってしまう。(1)のケースを考える。奇数+奇数は偶数だ、そしてゴールドバッハ予想(G予想)が正しいと仮定しているので、偶数は2つの素数P1, P2 の和で書ける。このP1,P2は奇素数でなければならない、なぜなら例えばP1が2だとするとP2は2以外の素数なのでP1+P2は奇数となってしまう(P2が2だとすると5より大きくはならなくなる)。P1,P2は奇素数の組み合わせで、3つ目の奇数K3を考えると、例えば、P1 + K3はやはり偶数となり、G予想から2つの素数の和で書けるはずなので、K3も素数ということになる。P2についても同様。よって、5より大きい奇数は3つの素数の和で表せることになる。
(2)のケースもほとんど同じ。最初の偶数+偶数はやはり偶数だ。これをEとする。EはG予想からP1, P2 の和で書けることになる。そしてP1, P2は奇素数でなければならないので(1)のケースと同じ方針で説明が可能となる。具体的に書くと15=4+6+5としよう。最初の偶数+偶数のところが4+6=10だ、これは3+7と奇素数の和で書ける。よって、15=3+7+5で3つの素数の和で書ける。

prolog によるプログラム
% 任意の自然数Nは2つか3つの素数の和で書ける

prime_list([2,3,5,7,11,13,17,19,23,29,31,
           37,41,43,47,53,57,61,67,71,73,79,83,89,97]).

show :-
    s_aux(4),!.

s_aux(101) :- !.
s_aux(N) :-
    write(N),write(':'),
    show_2(N),show_3(N),
    M is N + 1,
    s_aux(M).
show_2(N) :-
    prime_list(L),
    member(X,L),
        member(Y,L), X >= Y,
            N is X + Y, write(X),write('+'),write(Y),nl,fail.
show_2(N) :- !.
show_3(N) :-
    prime_list(L),
    member(X,L),
        member(Y,L),
            member(Z,L),
            X >= Y, Y >= Z,
        N is X + Y + Z, write('   '),write(X),write('+'),write(Y),write('+'),write(Z),nl,fail.
show_3(N) :- !.

実行結果:
4:2+2
5:3+2
6:3+3
   2+2+2
7:5+2
   3+2+2
8:5+3
   3+3+2
9:7+2
   3+3+3
   5+2+2
10:5+5
7+3
   5+3+2
11:   5+3+3
   7+2+2
12:7+5
   5+5+2
   7+3+2
13:11+2
   5+5+3
   7+3+3
14:7+7
11+3
   7+5+2
15:13+2
   5+5+5
   7+5+3
   11+2+2



この記事が気に入ったらサポートをしてみませんか?