2024-01-03 08:01:23 | 我爱编程网
所谓
完全数
是指,如果一个数恰好等于它的因子之和,则称该数为“完全数”,又称
完美数
或完备数。
例如:第一个完全数是6,它有约数 1、 2、 3、 6,除去它本身6外,其余3 个数相加,1+2+3=6。 第二个完全数是28,它有约数 1、 2、 4、 7、 14、 28,除去它本身28外,其余5个数相加,1+2+4+7+14=28
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
a = []
for i in range(1, 1000):
s = 0
for j in range(1, i):
if i % j == 0 and j < i:
s += j
if s == i:
print(i)
a.append(i)
print("1000以内的完全数为: %s" % a)
运行结果如图所示
#include
int main()
{
int i,j,s;
for(i=2;i<=1000;i++)
{
s=1;
for(j=2;j<=i/2;j++)
if(i%j==0)s+=j;
if(s==i)printf("%d\n",i);
}
getch();
return 0;
}
有三个,6、28、496。
第一个
完全数
是6,它有
约数
1、2、3、6,除去它本身6外,其余3个数相加,1+2+3=6。
第二个完全数是28,它有约数1、2、4、7、14、28,除去它本身28外,其余5个数相加,1+2+4+7+14=28。我爱编程网
第三个完全数是496,有约数1、2、4、8、16、31、62、124、248、496,除去其本身496外,其余9个数相加,1+2+4+8+16+31+62+124+248=496。
推导公式:
大数学家
欧拉
曾推算出完全数的获得公式:如果p是
质数
,且2^p-1也是质数,那么(2^p-1)X2^(p-1)便是一个完全数。
例如p=2,是一个质数,2^p-1=3也是质数,(2^p-1)X2^(p-1)=3X2=6,是完全数。
例如p=3,是一个质数,2^p-1=7也是质数,(2^p-1)X2^(p-1)=7X4=28,是完全数。
例如p=5,是一个质数,2^p-1=31也是质数,(2^p-1)X2^(p-1)=31X16=496是完全数。
2024-01-01 09:58:48
2023-12-26 12:43:58
2023-12-23 12:08:32
2023-09-13 13:02:53
2024-01-01 07:26:50
2023-12-27 04:16:41