質問: sum-j; return i; } ``` ### 試したこと 1000など小さい数字でも試してみましたが、同様に表示されませんでした。
回答: アルゴリズムも全然違いますし、作り方が悪いです。 まず自分自身を除いた約数の和を求める関数 int sumOfFactors(int) を作ってください。 そして 2 から 20 程度までの数を引数にその関数を呼び出して出力を確認し、正しい出力が得られることを確認してください。 ちなみにこのような結果になります。 1 1 3 1 6 1 7 4 8 1 16 1 10 9 15 1 21 1 22 これ以外の結果が出たら間違いなので作り直してください。 次に 2 から 10000 までの数を引数にこの関数を呼び出し、得られた結果を引数に再度呼び出して得られた結果と元の引数が同じものを抽出してください。 それが成功した後は、重複して現れた同じ結果を省くよう工夫してください。 結果は次のようになります。 220 284 1184 1210 2620 2924 5020 5564 6232 6368