約数が3つである自然数と約数の個数から求めるもとの数

以前の記事「素因数分解を使った約数の個数の求め方は?0乗が鍵?」では、ある数が与えたれたときの約数の個数を求めました。

きちんと素因数分解さえすればそんなに難しいものではありません。

今回は約数の個数からその条件にあう数を見つけてみたいと思います。

 

素因数分解から約数の個数を出す公式は?

以前にした素因数分解から約数の個数を求める公式です。

$$a^x\times b^y\times c^z$$
という形に素因数分解ができたときの約数の個数は、
$$(x+1)(y+1)(z+1)$$
となります。

公式として暗記してもいいのですがせっかくなので理屈も分かるようになるといいですね。
詳しくは下の記事を見てみてください。

素因数分解を使った約数の個数の求め方は?0乗が攻略の鍵!

さて、ある約数の個数を持つ数を求めるのは難しいのでまずはウォーミングアップに約数の個数を求める問題からしてみましょう。

<例題>
28の約数の個数を求めなさい。

28くらいであれば全て書き出すのも手ですが、素因数分解をして求めてみたいと思います。

\(28=2^2\cdot 7^1\)
7は分かりやすくするために1乗を付けてみました。
答案に書く時には1乗は書いちゃだめですよ。

2の指数と7の指数に着目して、28の約数の個数は\( (2+1)(1+1)=3\cdot 2=6\)となります。
約数を全部書き出してみると\(1,2,4,7,14,28\)の6つになりました。

約数の個数を出すのはとても簡単なのですが、これが逆になるととても難しくなってしまいます。
まずは手始めに約数の個数が3つの数を探してみましょう。

約数が3つである自然数を探そう!

<例題>
100以下の自然数で約数の個数が3つである自然数を見つけよう。

急に難しくなりますね。
ある数の約数の個数を求めるのは単純に計算すればでてくるのですが、それが逆になるとそんな考えではできません。
しっかり頭を使っていきましょう。

約数の個数が3つというところから考えます。
約数の個数が3つになるというのは素因数分解した時に\(a\)が素数だとすると\(a^2\)になるときだけになります。
\(a^3\)は約数の個数が4つになってしまうのは明らかですが2種類の素数に素因数分解できるかもしれないと考えると、約数の最も少ない素因数分解した式は\(a^1\cdot b^1\)という形になります。
ただこの時の約数の個数は4つとなってしまうので、約数の個数が3つとなるのは素数の2乗の数ということになります。

よって100以下の自然数で約数が3つのものは\(2^2,3^2,5^2,7^2\)の4つということになります。
つまり答えは\(4,9,25,49\)ということになります。

約数の個数が3つの数は素数の2乗だと覚えておいてもいいですね。
約数の個数を求める公式から考えればすぐ分かるようにもしておくとなおgoodです!

約数が8個の整数を考えよう!

<例題>
約数が8個の最小の正の整数をもとめなさい。

素因数が何種類あるかで分類していきましょう!

まずは約数の個数である8個を素因数分解しましょう。

すると、\(8=2^3\)となるので、最大でも素因数の種類は3種類と分かります。

素因数の種類を1~3種類に分類すればやりやすくなりそうです。

素因数が1種類の時\(a^7\)であれば約数は8個になり、この条件で最小の数は\(2^7=128\)

素因数が2種類の時は\(a^3\cdot b^1\)であればいいので、この条件で最小の数は\(2^3\cdot 3^1=24\)

素因数が3種類の時は\(a^1\cdot b^1cdot c^1\)であればいいので、この条件で最小の数は\(2^1\cdot 3^1\cdot 5^1=30\)

素因数が4種類以上の場合は考えられないので、約数を8個持つ最小の正の整数は24ということになります。

素因数の個数で分類できるとすんなりいきますが、順序よくしないと計算が大変になっちゃうので気を付けてくださいね。

まとめ

以前の記事「素因数分解を使った約数の個数の求め方は?0乗の計算が必要?」でしたある数が与えられたときに約数の個数を求める形ではなく約数の個数からその条件をもつ数を求めてみました。

ある数から約数の個数を求める時は、素因数分解をして指数に着目すればすんなりいきますが、約数の個数によっては場合分けが大変です。

今回の問題のようなすることがぼんやりしてしまう問題はきちんと論理立てて復習しておくのがいいですね。

素因数分解まとめに行く!

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください