数学A / 整数の性質
約数の個数から数を決める
問題
正の約数がちょうど 個ある自然数のうち、最小のものを求めよ。
ヒントを見る
約数の個数は『(各指数 )の積』。まず を積の形(、)に分ける → 指数の組がわかる。数を小さくするには、大きい指数を小さい素数に割り当てる。
解答・解説
方針
『約数の個数 (各指数 )の積』を逆に使う。 を『(指数 )の積』に分解して指数の組を出し、いちばん小さくなる数を作る。
解答
⓪ 発想 — どう考え始めるか。 「約数の個数 =(各指数 )の積」を、今回は逆向きに使う。
個数 を「(指数 )の積」に分解する。 と の2通りだ。ここから指数の組( 型と 型)が決まる。
最小の数を作る仕上げは「大きい指数ほど小さい素数に割り当てる」。候補どうしを比べて最小を選ぶ。
約数の個数は『(各指数 )をかけたもの』。だから を『(指数 )の積』に分ける。
または 。
の場合:指数 、つまり指数 の素数 つ。最小は で、これはとても大きい。
の場合:指数が と の素因数 つ。数を小さくするには、大きい指数 を小さい素数 に、指数 を次の素数 に割り当てる。
( よりこちらが小さい。『大きい指数ほど小さい素数へ』が最小化のコツだ。) は よりはるかに大きいので、答えは
発展 — 一歩先へ。 「約数の個数が奇数 ⟺ 平方数」には有名な応用がある。100枚のロッカーの開閉問題(1番から100番の人が自分の倍数番のロッカーを反転していくと、最後に開いているのは平方数番だけ)は、まさにこの事実の言い換えだ。
「個数ちょうど 個の最小数」は、 の分解が増えるほど候補の比較が本格化する( なら分解が4通り)。「大きい指数を小さい素数へ」の原理だけでは足りず、実際に数を比べる検分が最後に必要になる。
別解
計算の前に、答えの「正体」を1つ予言できる。約数の個数 は奇数。実は、約数の個数が奇数になる数は平方数だけだ。
理由はペアの構造にある。約数は と のペアで現れるから、ふつうは偶数個。ペアが崩れるのは 、つまり となる相方が自分自身の約数があるときだけ。それが平方数だ。
だから答えは平方数のはず。実際、候補の 、、 はすべて平方数で、最小は 。
「個数が奇数 ⟺ 平方数」は、それ自体が頻出の知識でもある。答えの形を先に知ってから計算に入ると、指数の割り当てミスにも気づきやすい。
ポイント
- 約数の個数 (各指数 )の積。これを逆に分解する
- なら指数は 。素数 つの積
- 最小化は『大きい指数を小さい素数へ』割り当てる
よくある間違い
- の分解だけ調べ、( 型)の検討を忘れる
- 指数の割り当てを逆にして を答えにする(大きい指数を小さい素数へ)
- から「素因数は3個と5個」のように、分解の意味(指数)を取り違える