0

プログラムの特定の問題にアプローチするのに苦労しています。

まず、数が完全かどうかを判断する必要がありました。ここで作成した bool isPerfect(int n) という関数を使用します。

bool isPerfect(int n) {

    sum = 0;

    for (int i = 1; i < n; i++) {

        if (n % i == 0)
            sum += i;
    }

    if (sum == n) {
        return true;
    }
    else {
        return false;
    }

}

私が直面している問題は、2番目のステップです。テスト用に多くの整数を生成するコードを作成する必要があること。次に、完全な整数を 5 つ見つけて出力するまで、これらの整数をテストします。私が書いたスパゲッティ コードは、5 次完全数の計算に時間がかかりすぎてしまいました。このような多数のテストに必要な時間を短縮するには、どのような手順を実行すればよいでしょうか? 番号をスキップしてテストする必要がないことを確認するためのルールのようなものですか? どんな助けでも大歓迎です。

4

1 に答える 1