對於乙個 正整數,如果它和除了它自身以外的所有 正因子 之和相等,我們稱它為 「完美數」。
給定乙個 整數 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 的邏輯 基本知識點 這裡的主題是為了講揹包,所以...