|
uchinyan |
|
今回の問題は容易でしたが、少し拡張した問題を考えてみました。これは、難しそうです。
まず、約数の和が 1344 という条件を無しにしてみました。16/5 はそのままです。このときの整数は? perl で調べてみました。ナイーブなコーディングなので、効率はよくありませんが。 # Sansuu Challenge 481 $n = 100000; $p = 16; $q = 5; sub divSum { local($a) = @_; local($s) = 0; foreach (1..$a/2) { $s += $_ if($a % $_ == 0); } $s += $a; return($s); } print "$n までの結果:\n"; foreach (1..$n) { $s = &divSum($_); if($p * $_ / $q == $s) { print "$p/$q:求める整数 $_, 約数の和 $s\n"; } } 結果は、次のとおり。これを見ると、解は複数あるようです。 100000 までの結果: 16/5:求める整数 420, 約数の和 1344 16/5:求める整数 7440, 約数の和 23808 16/5:求める整数 8190, 約数の和 26208 16/5:求める整数 18600, 約数の和 59520 なお、この次は、 16/5:求める整数 121920, 約数の和 390144 となるようですが、その後がなかなか見つかりません。 問題は、解の個数は有限かどうか、有限ならば幾つあるか、具体的にそのときの整数はなにか、などです。 現時点ではよく分かっていません。 また、これもよく分かっていないのですが、約数の逆数の和の取り得る値の範囲はどうなっているか。 すぐに分かることは、 ・有理数であること。 ・1 以上であること。これは、整数 1 を考えれば分かります。 ・上限はないこと。これは、例えば、整数 n! で 1 + 1/2 + 1/3 + ... + 1/n が n -> ∞ で無限大になることから分かります。 ・完全数の場合に 2 となること。完全数とは、もちろん、自分自身を除いた約数の和がその数に等しくなる数のことです。 要は、1 以上の有理数で、取り得る値の範囲を特定できるかどうかです。 うーむ... |
|
ネコの住む家
12月15日(木) 21:13:08
MAIL:uchi@sco.bekkoame.ne.jp 26346 |