数列の合計が与えられた値を超える最小の数を計算する

次のように定義された無限のシーケンスがあります。

1: 1 = 1
2: 1 + 2 = 3
3: 1 + 3 = 4
4: 1 + 2 + 4 = 7
5: 1 + 5 = 6
6: 1 + 2 + 3 + 6 = 12
7: 1 + 7 = 8
...

シーケンスは、1と n を含む n の除数の合計です。

入力として正の整数 x が与えられた場合、 x
より大きい結果を生成する最も低い数値 n を計算します。

テストケース

f(100) = 48, ∑ = 124
f(25000) = 7200, ∑ = 25389
f(5000000) = 1164240, ∑ = 5088960

期待される出力

あなたのプログラムは両方 n とその除数の合計を返します。

$ ./challenge 100
48,124

ルール

これはコードゴルフで、各言語で最短のコードがバイト単位で勝ちます。

ベストアンサー
申し訳ありませんが、適切な答えはありません

返信を残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です