题目链接:
题意:
一个数被觉得是一个完美的数,仅仅要须要满足下面的两个条件之中的一个
1)x = 1 or 3
2)x = 2 + a*b + 2*a + 2*b; a。b都是完美的数。
分析:
x + 2 = (a + 2)*(b + 2)
因为x1=1,x2=3。全部的数都是由着两个数衍生而来。那么我们就可
以得出一个结论了。一个数x假设是完美的数。那么x = 3^p*5^q;
因此代码例如以下:
#include #include #include #include #include #include #include
还能够打表把1e9以内的全部完美数打出来。 代码例如以下:
#include #include #include #include #include #include #include