完全数
- 格式:ppt
- 大小:3.39 MB
- 文档页数:9


C++完全数的判断(证明完全平⽅数不可能是完全数)
C++ 完全数的判断
对于⾃然数n,其除了⾃⾝以外的所有因数的和,等于其⾃⾝的,称n为完全数。在C++中可以通过遍历1到n找出所有因数,然后求和验证。
但n次遍历往往⽆法满⾜时间复杂度的要求。
注意到,对⾃然数n,假设其存在因数a,则必存在因数b=n/a,且min(a,b)不⼤于√(n)。利⽤这条性质可以将原本需要的n次遍历减少为√(n)次遍历。
int n, sum = 1;
cin >> n; // n为输⼊的⾃然数n
for (int i = 2; i <= n / i; i ++ ){
if (n % i == 0){
sum += (i + n / i);
}
}
⼀般的代码中都没有考虑i=n/i的情况,即n为完全平⽅数的情况。如何证明完全平⽅数不可能是完全数?
证明:完全平⽅数不可能是完全数
对⼤于3的正整数n,其除了⾃⾝的约数的和sum(n)有:
sum(n)
对于⼀个完全平⽅数$ k = n * n ,如果其为完全数,则 n 的约数和sum(n) = k - n = n^2 - n$,显然不可能。所以完全平⽅数
不需要特别处理。
C++ 程序
#include
#include
using namespace std;
int main(){
int n;
cin >> n;
while(n--){
int x, sum = 1;
cin >> x;
for (int i = 2; i < sqrt(x); i ++){
if (x % i == 0){
sum += i;
sum += x / i;
}
}
if (x != sum || x == 1)
printf("%d is not perfect\n", x);
else
printf("%d is perfect\n", x);
}
return 0;}
Processing math: 100%
数字之间的规律
数字之间有着丰富的规律和关系,它们是数学中的重要研究对象。以下将介绍一些数字之间常见的规律。
一、自然数的规律
自然数从1开始,依次递增,每个自然数都可以通过前一个自然数加1得到。例如,2是1加1得到,3是2加1得到,以此类推。这是最基本的自然数规律。
二、奇数和偶数的规律
自然数中,可以被2整除的数字称为偶数,不能被2整除的数字称为奇数。奇数和偶数之间交替出现,例如1是奇数,2是偶数,3又是奇数,4又是偶数,以此类推。
三、素数的规律
素数是指只能被1和自身整除的自然数,除了1以外的最小素数是2。素数的规律是不可预测的,它们在自然数中分布随机而稀疏。例如,2、3、5、7、11、13等都是素数。
四、完全数的规律
完全数是指除自身外所有因子的和等于自身的自然数。最小的完全数是6,因为6的因子1、2、3的和等于6。完全数的规律非常罕见,目前只知道少数几个完全数,如6、28、496等。
五、斐波那契数列的规律
斐波那契数列是指从第三项开始,每一项都是前两项的和。斐波那契数列的前几项为0、1、1、2、3、5、8、13、21等。斐波那契数列的规律在自然界中广泛存在,如植物的叶子排列、兔子繁殖等。
六、等差数列的规律
等差数列是指从第二项开始,每一项与前一项的差相等。例如,1、3、5、7、9就是一个公差为2的等差数列。等差数列的规律可以用一个通项公式来表示,如第n项为a+(n-1)d,其中a为首项,d为公差。
七、等比数列的规律
等比数列是指从第二项开始,每一项与前一项的比相等。例如,1、2、4、8、16就是一个公比为2的等比数列。等比数列的规律可以用一个通项公式来表示,如第n项为a*r^(n-1),其中a为首项,r为公比。
八、黄金分割的规律
黄金分割是指将一条线段分为两部分,使其中一部分与全长的比等于另一部分与这部分的比。黄金分割的比例约为1:1.618。黄金分割在艺术、建筑等领域被广泛应用,被认为是一种美学上的最佳比例。
奇妙而神秘的完全数
华兴恒
(安徽省灵璧县黄湾中学,234213)
在自然数中,“6”这个数是非常普通的一个数,
然而它却隐藏一个不被人们注意的特性.这就是6
的因数有四个,即1,2,3,6.除了它本身以外,其
它三个因数的和恰好等于6这个数本身,具有这样
特点的数,人们称之为完全数.
在数学中,如果一个自然数等于除它本身以外
的所有正因数之和,则这个数叫做完全数.6是最小
的一个完全数.有人做过统计:
6=1+2十3.
28=1十2+4+7+14.
496=1+2+4+8十16+31十62+124+248.
8128:1+2+4+8+16+32+64+127+254+
508+1016+3032+4064.
由此可见,一位数中只有一个完全数6,二位数
中也只有一个完全数28,三位数中只有一个完全数
496,四位数中只有一个完全数8128.
以上所说的四个完全数,其中的6,28,496这三
个早在公元前600年,毕达哥拉斯就已发现,古希腊
人早在二世纪也发现了.如果把这三个完全数分别
改写成下面的表现形式:
6=2×(2 一1),
28=22×(23—1).
496=2 ×(2 一1).
则可以猜想在2 一1是质数时,2 (2 一1)
是完全数.可以证明这个猜想是正确的.并且这个猜 想早在几何学的鼻祖欧几里德的《几何原本》第九卷
中就有记载.
人们为了寻找更大的完全数却历经了漫长的
1200多年的时问,直到1461年才有人找到了第五
个完全数33550336.在十六世纪人们又发现了下面
三个完全数,它们分别是十位数8589869056,十二 位数137438691328以及十九位数.在此后的三个世
纪里,人们只找到了一个三十七位的完全数,这就是
2658455991569831744654692615953842176.由此可 见,对完全数的探索进程不仅非常缓慢,而且十分的
艰辛.同时这也说明了完全数稀罕、奇妙,还说明了
完全数的六个否定命题
完全数问题是一个古老是数学问题,至今还不知道偶数完全数有有限个,还是无穷多;也不知道存不存在奇数是完全数。本人经过思考给出5个判断奇数不是完全数的命题:
命题1如果n是一个奇素数的方幂,则n不是完全数。
证:n=pm其中p是奇素数,m是自然数
σ(n)=σ(pm)=1+p+L+pm=pm+1-1p-1
σ(n)-2n=(pp-1-2)pm-1p-1<(11-1p-2)pm(1)
又因为p>2,所以1p<12推出1-1p>12推出11-1p<2推出(1)<0,因此n不是一个奇素数。证毕。
本例也可以用别的方法证明,比如数学归纳法,在此就不一一写出。
命题2如果n=pmqn,其中p,q为互不相同的奇素数,m,n是自然数,则不是奇完全数。
证:反证法,假设n是完全数,有σ(n)=2n,
σ(n)=σ(pmqn)=(1+p+p2+Λ+pm)(1+q+q2+Λ+qn)
2n=2pmqn由σ(n)=2n有 σ(n)=σ(pmqn)=(1+p+p2+Λ+pm)(1+q+q2+Λ+qn)=2pmqn
有;2=(1+p+Λ+pm)(1+q+q2+Λqn)pmqn=Σmi=01piΣnj=01pj(1)
又因为Σ∞i=01pi收敛,且Σ∞i=01pi=11-1p=pp-1,所以Σ∞i=01pi<pp-1(2)
同理Σ∞j=01qj收敛,Σ∞j=01qj=11-1q=qq-1,也有Σ∞j=01qj<qq-1(3)
考察函数f(x)=xx-1,因为导函数f´(x)=-1(x-1)2,当x>1有f´(x)<0,所以函数f(x)是单减的,且p,q是互不相同的素数,有:
Σmi=01piΣnj=01pj<(pp-1)(qq-1)<33-1X55-1=32X54=158<2也就是说
(1)<2即2<2矛盾。所以假设错误,命题正确,即n不是奇完全数。证毕。