数学A / 整数の性質

約数の個数から数を決める

★★ 標準約数の個数

問題

正の約数がちょうど 個ある自然数のうち、最小のものを求めよ。

ヒントを見る

約数の個数は『(各指数 )の積』。まず を積の形()に分ける → 指数の組がわかる。数を小さくするには、大きい指数を小さい素数に割り当てる。

解答・解説

方針

『約数の個数 (各指数 )の積』を逆に使う。 を『(指数 )の積』に分解して指数の組を出し、いちばん小さくなる数を作る。

解答

⓪ 発想 — どう考え始めるか。 「約数の個数 =(各指数 )の積」を、今回は逆向きに使う。

個数 を「(指数 )の積」に分解する。 の2通りだ。ここから指数の組( 型と 型)が決まる。

最小の数を作る仕上げは「大きい指数ほど小さい素数に割り当てる」。候補どうしを比べて最小を選ぶ。

公式約数の個数は(各指数 )の積 → 逆に個数を「(指数 )の積」に分解する

約数の個数は『(各指数 )をかけたもの』。だから を『(指数 )の積』に分ける。

または

の場合:指数 、つまり指数 の素数 つ。最小は で、これはとても大きい。

の場合:指数が の素因数 つ。数を小さくするには、大きい指数 を小さい素数 に、指数 を次の素数 に割り当てる。

( よりこちらが小さい。『大きい指数ほど小さい素数へ』が最小化のコツだ。) よりはるかに大きいので、答えは

発展 — 一歩先へ。 「約数の個数が奇数 ⟺ 平方数」には有名な応用がある。100枚のロッカーの開閉問題(1番から100番の人が自分の倍数番のロッカーを反転していくと、最後に開いているのは平方数番だけ)は、まさにこの事実の言い換えだ。

「個数ちょうど 個の最小数」は、 の分解が増えるほど候補の比較が本格化する( なら分解が4通り)。「大きい指数を小さい素数へ」の原理だけでは足りず、実際に数を比べる検分が最後に必要になる。

別解

計算の前に、答えの「正体」を1つ予言できる。約数の個数 は奇数。実は、約数の個数が奇数になる数は平方数だけだ。

理由はペアの構造にある。約数は のペアで現れるから、ふつうは偶数個。ペアが崩れるのは 、つまり となる相方が自分自身の約数があるときだけ。それが平方数だ。

だから答えは平方数のはず。実際、候補の はすべて平方数で、最小は

「個数が奇数 ⟺ 平方数」は、それ自体が頻出の知識でもある。答えの形を先に知ってから計算に入ると、指数の割り当てミスにも気づきやすい。

ポイント

  • 約数の個数 (各指数 )の積。これを逆に分解する
  • なら指数は 。素数 つの積
  • 最小化は『大きい指数を小さい素数へ』割り当てる

よくある間違い

  • の分解だけ調べ、( 型)の検討を忘れる
  • 指数の割り当てを逆にして を答えにする(大きい指数を小さい素数へ)
  • から「素因数は3個と5個」のように、分解の意味(指数)を取り違える