見出し画像

合成数判定と素数判定②(合成数として複数の数の積で表される場合)

合成数は互いに素な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までを探索すればよいと思います。

合成数か判定するだけなら、最初の方だけわかれば足りますので、そこら先は素因数分解して完結してもいいかもしれません。

以上です。

次回はいよいよ素数かどうかの判定に挑戦します
(*´-`)✨

この記事が参加している募集

数学がすき

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