原理:
一个正整数的因子是所有可以整除它的正整数。
而一个数如果恰好等于除它本身外的所有因子之和,这个数就称为完数。例如6=1+2+3(6的因子是1,2,3)。
性质:
所有的完全数都是三角形数;
可以表示成连续奇立方数之和(除6以外);
以6或者8(28)结尾;
辗转相加个位数是1;
6
28
496
8128
33550336
8589869056
137438691328
2305843008139952128
2658455991569831744654692615953842176
……
#include<cstdio>
#include<cmath>
typedef unsigned long long ull;
const ull inf=0x7f7f7f7f7f;
void init(){
for(ull i=6;i<=inf;i++){
ull sum=0;
for(ull j=1;j<i;j++)
if(i%j==0)
sum+=j;
if(sum==i)
printf("%lld\n",i);
}
}
int main(){
init();
} //只得到前四个
2200

被折叠的 条评论
为什么被折叠?



