[C++] 奇數的完美數(Odd Perfect Number) | 逍遙文工作室

文章推薦指數: 80 %
投票人數:10人

這是計算理論Halting Problem的例子,想要找出奇數的完美數,使得此程式可以停下來。

我們知道完美數… 逍遙文工作室 JustMyLife&MyWork [C++]奇數的完美數(OddPerfect Number) 2011年04月05日 這是計算理論HaltingProblem的例子,想要找出奇數的完美數,使得此程式可以停下來。

我們知道完美數的定義是:n=其因數之和,例子如: 6=1+2+3 28=1+2+4+7+14 496=1+2+4+8+16+31+62+124+248 … 定理:若2^m-1是質數,則2^(m-1)(2^m-1)必為完美數。

因為2^(m-1)必為偶數,而2^m-1質數有無窮多個,因此偶數的完美數有無窮多個。

但是是否存在奇數的完美數?依然是個OpenQuestion!目前已知10^300以內沒有,已經在1991年證出,最新數據為10^1500內沒有,但沒有被發表。

可以參考WiKi的Perfectnumber。

先來看[1,10000]有幾個完美數,程式碼如下: /** Theme:OddPerfectNumber Compiler:DevC++4.9.9.2 Date:100/04/16 Author:ShengWen Blog:https://cg2010studio.wordpress.com/ */ #include usingnamespacestd; constintNUMBER=10000; intmain(){ intsum; for(intn=1;n



請為這篇文章評分?