每日一題 70 完全數計算

2021-10-06 11:18:26 字數 1236 閱讀 9702

完全數(perfect number),又稱完美數或完備數,是一些特殊的自然數。

它所有的真因子(即除了自身以外的約數)的和(即因子函式),恰好等於它本身。

例如:28,它有約數1、2、4、7、14、28,除去它本身28外,其餘5個數相加,1+2+4+7+14=28。

給定函式count(int n),用於計算n以內(含n)完全數的個數。計算範圍, 0 < n <= 500000

返回n以內完全數的個數。 異常情況返回-1

/**

* * 完全數(perfect number),又稱完美數或完備數,是一些特殊的自然數。

* 它所有的真因子(即除了自身以外的約數)的和(即因子函式),恰好等於它本身。

* 例如:28,它有約數1、2、4、7、14、28,除去它本身28外,其餘5個數相加,1+2+4+7+14=28。

* * 給定函式count(int n),用於計算n以內(含n)完全數的個數

* @param n 計算範圍, 0 < n <= 500000

* @return n 以內完全數的個數, 異常情況返回-1

* */

public

static

intcount

(int n)

輸入描述:

輸入乙個數字

輸出描述:

輸出完全數的個數

示例1

輸入

1000

輸出3

通過遍歷每乙個約數,求和,判斷完全數。約數計算可以遍歷sqrt(n)的範圍。

解答**

#include

#include

using

namespace std;

bool

isperfect

(int n)}}

sum +=1

;return sum == n;

}int

count

(int n)}}

return count;

}int

main()

return0;

}

**生成圖

每日一題 47 計算糖果

a,b,c三個人是好朋友,每個人手裡都有一些糖果,我們不知道他們每個人手上具體有多少個糖果,但是我們知道以下的資訊 a b,b c,a b,b c.這四個數值.每個字母代表每個人所擁有的糖果數.現在需要通過這四個數值計算出每個人手裡有多少個糖果,即a,b,c。這裡保證最多只有一組整數a,b,c滿足所...

每日一題 LeetCode 70 爬樓梯

每日一題,防止痴呆 假設你正在爬樓梯。需要 n 階你才能到達樓頂。每次你可以爬 1 或 2 個台階。你有多少種不同的方法可以爬到樓頂呢?今天的每日一題是兩年前做過的一道題 也是一道比較經典的dp吧,下面我按照官解給出的多個思路的目的,乙個個的說一下 思路一 動態規劃 這個肯定是可以用動態規劃求解的。...

每日一題 1

題目詳情 peter喜歡玩數字遊戲,但數獨這樣的遊戲對他來說太簡單了,於是他準備玩乙個難的遊戲。遊戲規則是在乙個n n的 裡填數,規則 對於每個輸入的n,從左上角開始,總是以對角線為起點,先橫著填,再豎著填。這裡給了一些樣例,請在樣例中找到規律並把這個n n的 列印出來吧。輸入描述 多組測試資料 資...