自用筆記45 歐幾里得 尤拉定理

2021-10-21 02:17:28 字數 1238 閱讀 1974

對於乙個 正整數,如果它和除了它自身以外的所有 正因子 之和相等,我們稱它為 「完美數」。

給定乙個 整數 n, 如果是完美數,返回 true,否則返回 false

示例 1:

輸入:28

輸出:true

解釋:28 = 1 + 2 + 4 + 7 + 14

1, 2, 4, 7, 和 14 是 28 的所有正因子。

示例 2:

輸入:num = 6

輸出:true

示例 3:

輸入:num = 496

輸出:true

示例 4:

輸入:num = 8128

輸出:true

示例 5:

輸入:num = 2

輸出:false

1 <= num <= 108

為了節省時間預設和為1.i從2開始判斷是否是num的因數,判斷到num0.5,如果是num的因數,通過num/i求出另乙個因數

注意的是因為在迴圈判斷中是i<=pow(num,0.5)所以如果num是完全平方數會導致加了兩次根方值,所以在下面判斷中需要減去乙個根方值。但是第一次忘記這個判斷條件的情況下結果也對,應該完全平方數都不是完美數。

bool checkperfectnumber

(int num)

if(num/

sqrt

(num)

==sqrt

(num)

) sum = sum-

sqrt

(num);if

(sum == num)

return true;

else

return false;

}

歐幾里得-尤拉定理

歐幾里得-尤拉定理告訴我們,每個偶完全數都可以寫成 2(2p-1) 的形式,其中 pp 為素數。例如前四個完全數可以寫成如下形式

6 = 2^1 * (2^2 - 1)

28 = 2^2 * (2^3 - 1)

496 = 2^3 * (2^4 - 1)

8128 = 2^4 * (2^5 - 1)

由於目前奇完全數還未被發現,因此所有的完全數都可以寫成上述形式。當 n 不超過 10^8 時,p 也不會很大,因此我們只要帶入最小的若干個素數 2, 3, 5, 7, 13, 17, 19, 31),將不超過 10^8 的所有完全數計算出來即可。

GIT自用筆記

分為工作區,暫存區,倉庫。一步步儲存。cat 檔名 檢視檔案內容 rm 檔名 刪除檔案 cd 資料夾 開啟資料夾 ls 列出資料夾下的目錄git config global user.name your name git config global user.email email example....

自用筆記37 白給

給你乙個僅由數字 6 和 9 組成的正整數 num。你最多只能翻轉一位數字,將 6 變成 9,或者把 9 變成 6 請返回你可以得到的最大數字。示例 1 輸入 num 9669 輸出 9969 解釋 改變第一位數字可以得到 6669 改變第二位數字可以得到 9969 改變第三位數字可以得到 9699...

自用筆記 揹包系統

前提的知識 ugui unity框架 jason配置表 file檔案儲存和讀取 需求分析 揹包中顯示玩家擁有的物品資訊 需要顯示資訊就需要讀取資料 資料從 來?配置表 jason 玩家資訊 檔案讀取file jason 獲取資料到面板上 ugui c 的邏輯 基本知識點 這裡的主題是為了講揹包,所以...