Write a program to output the first 55 perfect numbers. A perfect number is defined to be a positive integer where the sum of its positive integer divisors excluding the number itself equals the number.
For example: 1+ 2 + 3 = 61+2+3=6, and 66 is the first perfect number.
There is no input for this problem.
题意:输出前5个完美数 思路:如果p是质数,且2^p-1也是质数,那么(2^p-1)* 2^(p-1)便是一个完全数。 枚举p,然后判断质数就可以了 #include <bits/stdc++.h> using namespace std; int main() { cout << "6"<<endl; cout <<"28"<<endl; cout <<"496"<<endl; cout <<"8128"<<endl; cout <<"33550336" <<endl; return 0; }