こんにちは、Maveryx!
このチャレンジは、最もクリエイティブなチャレンジ貢献者の 1 人であるIppei Nakagawaによって提出されました。 @gawa さん、貴重な貢献に感謝します。また、Inspire2024 中に直接お会いできて嬉しかったです!
完璧な人は神話かもしれませんが、完全な数は現実のものです。完全数とは、(それ自体を除く) 約数の合計に等しい正の整数です。
あなたの課題は、入力データに与えられた1 ~ 10,000 の範囲の整数のリストから、その中に隠されている完全数を特定することです。たとえば、最小の完全数は 6 で、これは6の約数 1、2、3 の合計です。
復習が必要ですか?アカデミーでこのレッスンを復習して準備を整えてください。
健闘を祈ります!
できました。
@KosukeUchihashi 挑戦ありがとうございます。ネタバレに、計算量を減らすロジックを書きます
できました。
やはり brute force しか思いつきませんでした。
なお、8,127の次の完全数は33,550,336だとWikipediaで聞いたので、
同じ処理で出せるか試してみたところ、30分経過時点で 125,696 までしか進まないので止めました。。
@Yoshiro_Fujimori さん その発想はAoCの1日の後半の問題みたいですね!
偶数の完全数の性質を使うと、次の完全数は比較的簡単に求められます。スポイラーにネタバレを書いておきます。
https://ja.wikipedia.org/wiki/%E5%AE%8C%E5%85%A8%E6%95%B0