Leetcode 829 連續整數求和 C

2021-10-09 01:37:16 字數 746 閱讀 5112

給定乙個正整數 n,試求有多少組連續正整數滿足所有數字之和為 n?

示例 1:

輸入: 5

輸出: 2

解釋: 5 = 5 = 2 + 3,共有兩組連續整數([5],[2,3])求和後為 5。

示例 2:

輸入: 9

輸出: 3

解釋: 9 = 9 = 4 + 5 = 2 + 3 + 4

示例 3:

輸入: 15

輸出: 4

解釋: 15 = 15 = 8 + 7 = 4 + 5 + 6 = 1 + 2 + 3 + 4 + 5

說明:1 <= n <= 10 ^ 9

我們不妨假設以x開頭的k個連續數之和為n,也就是說 (x+1) + (x+2) + ··· + (x+k) = kx + k(k+1)/2 = n,即k*(2x+k+1) = 2n,k>0

即2x+k+1 = 2n/k,我們可以知道2n能夠整除k;此外,k和2n/k一奇一偶,才能保證x有解。我們遍歷所有可能的k,只要滿足條件便有解x。詳細過程見**

int

consecutivenumberssum

(int n)

return ans;

}

829 連續整數求和 leetcode

題目 給定乙個正整數 n,試求有多少組連續正整數滿足所有數字之和為 n?示例 1 輸入 5 輸出 2解釋 5 5 2 3,共有兩組連續整數 5 2,3 求和後為 5。示例 2 輸入 9 輸出 3解釋 9 9 4 5 2 3 4 示例 3 輸入 15 輸出 4解釋 15 15 8 7 4 5 6 1 ...

3276 連續正整數之和

單點時限 2.0 sec 記憶體限制 256 mb 有些正整數可以表示為 n n 1 個連續正整數的和,如 15 1 2 3 4 5 4 5 6 7 8 給定乙個正整數 n,判斷其是否可以表示為一組連續正整數的和,輸出符合條件的解的組數。輸入格式 第 1 行 乙個整數 t 1 t 10 為問題數。第...

LeetCode 5396 連續字元

給你乙個字串 s 字串的 能量 定義為 只包含一種字元的最長非空子字串的長度。請你返回字串的能量。示例 1 輸入 s leetcode 輸出 2 解釋 子字串 ee 長度為 2 只包含字元 e 示例 2 輸入 s abbcccddddeeeeedcba 輸出 5 解釋 子字串 eeeee 長度為 5...