過去ログ

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

過去問題一覧へ戻る