合成数判定と素数判定②(合成数として複数の数の積で表される場合)
合成数は互いに素な2つの数の積で表されるとは限りません。
複数の数の積で表されることが多いです。
そこで2桁までのその場合の積を判定してみます。
(1)18の場合
前回にならって簡略化して式だけにします。
$${ x +y=k }$$
$${ y=18/x }$$
$${ x +18/x=k }$$
$${ x^2 -kx +18=0 }$$
$${ x=k±\sqrt{k^2-4×18}/2 }$$
$${ x=k±\sqrt{k^2-72}/2 }$$
72に近い平方数は81。③の$${k^2}$$に代入すると√の中身は$${\sqrt{9}=3}$$と$${\sqrt{49}=7}$$になり、xは自然数解を持つ様になる。
81-72=9*
100-72=28
121-72=49*
$${x=(9+3)/2=6}$$
$${x=(9-3)/2=3}$$
$${x=(11+7)/2=9}$$
$${x=(11-7)/2=2}$$
②とあわせて18=6×3、9×2となります。
(2)36の場合
途中式も省略します。
$${ x=k±\sqrt{k^2-4×36}/2 }$$
$${ x=k±\sqrt{k^2-144}/2 }$$
144は平方数ですのでそこからスタートします。③の$${k^2}$$に代入すると√の中身は$${\sqrt{0}=0}$$と$${\sqrt{25}=5}$$と$${\sqrt{81}=9}$$と$${\sqrt{256}=16}$$になり、xは自然数解を持つ様になる。
144-144=0*
169-144=25*
196 -144=52
225 -144=81*
256 -144=112
289-144=145
324-144=180
361-144=217
400-144=256*
$${x=(12+0)/2=6}$$
$${x=(13+5)/2=9}$$
$${x=(13-5)/2=4}$$
$${x=(15+9)/2=12}$$
$${x=(15-9)/2=3}$$
$${x=(20+16)/2=18}$$
$${x=(20-16)/2=2}$$
36=6×6、9×4、12×3、18×2となります。
(3)64の場合
途中式も省略します。
$${ x=k±\sqrt{k^2-4×64}/2 }$$
$${ x=k±\sqrt{k^2-256}/2}$$
256は平方数ですのでそこからスタートします。③の$${k^2}$$に代入すると√の中身は$${\sqrt{0}=0}$$と$${\sqrt{144}=12}$$と$${\sqrt{900}=30}$$になり、xは自然数解を持つ様になる。
256 -256=0*
289-256=33
324-=68
361-=105
400-=144*
441-=185
484-=228
529-=273
576-=320
625-=369
676-=420
729-=473
784-=528
841-=585
900-=644
961-=705
1024-=768
1089-=833
1156-=900*
$${x=(16+0)/2=8}$$
$${x=(20+12)/2=16}$$
$${x=(20-12)/2=4}$$
$${x=(34+30)/2=32}$$
$${x=(34-30)/2=2}$$
64=8×8、16×4、32×2となります。
今回は最後の900*=30×30が出てくるのがだいぶ遅くなりました。
問題とするある数の1/2+2までを探索すればよいと思います。
合成数か判定するだけなら、最初の方だけわかれば足りますので、そこら先は素因数分解して完結してもいいかもしれません。
以上です。
次回はいよいよ素数かどうかの判定に挑戦します
(*´-`)✨
この記事が参加している募集
この記事が気に入ったらサポートをしてみませんか?