#C07TL08P04. C07T.L08.实战训练八.题目4.完美数

C07T.L08.实战训练八.题目4.完美数

题目描述

古希腊人对数学作出了巨大贡献。欧几里德和毕达哥拉斯就是这个时代最杰出的数学家中的两位。欧几里德 23 卷的《几何原本》仍然是被认为学习数学的基础读物。

欧几里德对毕达哥拉斯提出的"完美数"问题作了重要贡献。 6 是完美数,6=1+2+3,刚好是其因数之和(小于6的因数)。另一个完美数是 28 , 28=1+2+4+7+14 。

在《几何原本》第九卷,欧几里德找到了所有偶完美数。(后来到了 20 世纪才得以证明所有的完美数都是偶数)欧几里德证明一个偶数如果满足以下形式就是完美数:(2p2^p-1)*2p12^{p-1},其中 p 和 2p2^p-1 都是质数。

2000年后,欧拉证明了欧几里德定理的逆命题:每一个偶完美数都是欧几里德形式。

例如 6 = (222^2-1)*2212^{2-1} , 28=(232^3-1)*2312^{3-1}

完美数很少。到 1975 年,只发现 24 个完美数,前 4 个完美数是 6,28,496,8128 。相应的 p 是 2,3,5,7 。现在给你一个整数 p (不一定是质数)。请你判断 (2p2^p-1)*2p12^{p-1} 是不是完美数。最大的完美数不超过 2322^{32}-1 ( 即在 int 范围内 )。

输入格式

一个整数 p 。

输出格式

输出 "Yes" 或 "No"

样例

2
Yes

题目的意思是欧几里得的那个观点(符合欧几里得形式的数就是完美数)不一定是正确的,请你编程加以验证