約数の個数
当HPがいつもお世話になっているHN「GAI」さんからの出題です。
(平成25年8月13日付け)
約数について面白かったので調査してみました。
約数の個数が100個になる最小の数が45360で、200個になる最小の数は498960
でした。
実際に、 45360=24・34・5・7 から、約数の個数は、 5・5・2・2=100
498960=24・34・5・7・11 から、約数の個数は、 5・5・2・2・2=200
また、約数として、1,2,3,4,5,6,7,8,9,10を含む最小の数が2520で、同じく約
数として1,2,3,・・・,20を含む最小の数は232792560でした。
実際に、 1,2,3,4=22,5,6=2・3,7,8=23,9=32,10=2・5 から、求める
最小の数は、 23・32・5・7=2520 である。232792560も同様に求められる。
では、約数の個数が300個、400個、500個になる最小の数はそれぞれ何でしょう?
さらに、約数として1,2,3,・・・,100を含む最小の数とは?
(答) らすかるさんが考察されました。(平成25年8月13日付け)
300=22・3・52 なので、約数の個数が300個になる最小の数は、24・34・52・7・11=2494800
400=24・52 なので、約数の個数が400個になる最小の数は、24・34・5・7・11・13=6486480
500=22・53 なので、約数の個数が500個になる最小の数は、24・34・54・7・11=62370000
約数に1〜100を含む最小の数は、
26<100<27、34<100<35、52<100<53、72<100<73 から、26、34、52、72 および
素数 11、13、17、19、23、29、31、37、41、43、47、53、59、61、67、71、73、79、83、89、97
を含むので、
26・34・52・72・11・13・17・19・23・29・31・37・41・43・47・53・59・61・67・71・73・79・83・89・97
=69720375229712477164533808935312303556800
GAI さんからのコメントです。(平成25年8月13日付け)
実は拙いプログラムを作って、かなり時間をかけて答えを見つけていました。本当は約数
の個数が777個のものを探していたんですが、なかなか見つけられず、これは出題せずに
おりました。これに対するらすかるさんの解法を見させてもらい、目から鱗がとれる思いでし
た。任意の約数の個数を有する最小の数を直接探せる手段がはっきりと理解できました。
777個の約数を持つ最小の数は、1252412463513600
実際に、777=3・7・37 なので、求める最小の数は、236・36・52=1252412463513600
こんなに大きくなる数を闇雲に探そうとしていたこと自体無謀でした。プログラムに精通され
ているらすかるさんがコンピュータに頼らず、論理の組合せで考えられたことに改めて敬服し
ます。
GAI さんからの続報です。(平成25年8月16日付け)
約数の個数がn個になる最小な数をN(n)として、n=1〜200について求める操作を、なる
だけコンピュータで処理できるようにとプログラムの修正を繰り返しながら苦心して調べて
みました。
なかなか自動的に一つのプログラムで処理しようと悪戦苦闘しましたが、(ほとんど一日
中)どうしてもうまく繋がらない部分が出てきて、その都度特定の行列を手動で構成しなが
ら作業を進めました。
ふと気になって、オンライン整数列大辞典で検索してみたら、n=1〜1000の表が既に調査
されていました。(世界中では、どこかに誰かがいち早く調べ尽くしているものですね〜)
プログラムする技能が不足しているので、かなり非効率なプログラムで調査していると思
います。また自動的にひとつの流れとしてプログラムが動くようにいつかしてみたいです。
どなたか、これを求めるプログラムを組むことをされたなら、そのプログラムを公開して頂
けませんでしょうか?
らすかるさんからのコメントです。(平成25年8月16日付け)
「約数の個数がn個になる最小の数」の数列は「A005179」です。プログラムでは指数の処
理をうまくやる必要がありますね。
例えば、8=23 なので、21・31・51=30 が最小と判断しがちですが、実は、23・3=24
が最小となります。
また、480=25・3・5 において、組合せはいろいろ考えられます。
5、3、2、2、2、2、2 と考えて、 24・32・5・7・11・13・17
5・2、3、2、2、2、2 と考えて、 29・32・5・7・11・13
3・2、5、2、2、2、2 と考えて、 25・34・5・7・11・13
これらは最小ではなく、
5、2・2、3、2、2、2 と考えた 24・33・52・7・11・13=10810800
が最小になります。使用する素数の値の大きさによって組み合わせ方が変わるわけで、実
際にある程度の組合せについて計算して最小値を探さなければならないと思います。
n が小さければ(例えば、1,000,000 とか)素因数もそれほど多くはなりませんので、全部の
組合せについて計算するのが単純でいいですかね。