0

間隔 x から y までのすべての完全数を見つけたいです。どうすればそれを行うことができますか?

4

1 に答える 1

3

これは簡単な解決策です。それほど高速ではありません。完全数がどのように機能するかを理解するための例にすぎません。

#include <iostream>

using namespace std;

int main()
{
    int x, y;
    int sum_del;
    cin >> x >> y;
    for(int i = x; i <= y; i++){

        sum_del = 0;

        for (int j = 1; j <= i/2; j++){
            if (i % j == 0)
                sum_del += j;
        }

        if (sum_del == i)
            cout << i << endl;

    }
    return 0;
}
于 2013-11-05T17:51:00.640 に答える