演算法題練習系列一 整數分解為連續整數的和

2021-09-12 17:44:52 字數 463 閱讀 8477

【問題描述】

某些 的形式,例如

15 = 1 + 2+3+4+5 

15 = 4 + 5 + 6

15 = 7 + 8

某些整數不能分解為連續整數的和,例如:16

輸入:乙個整數n(n <= 10000)

輸出:整數n對應的所有分解組合,按照每個分解中的最小整數從小到大輸出,每個分解佔一行,每個數字之間有乙個空格(每行最後保留乙個空格);如果沒有任何分解組合,則輸出none。

解題思路:

根據題目,任何可以進行分解的整數,必然滿足(m+n)(n-m+1)/2的形式,即(首項+末項)*項數/2 可以暴力嘗試所有m和n組合,如果滿足則輸出,否則輸出none。

static void algrothm(int n)

");console.writeline("\n");}}

}if (flag == 0)

此法為暴力破解法。

將整數分解為連續正整數之和

將乙個整數 n 分解為連續正整數之和,如 15 可以分解為 15 1 2 3 4 5 15 4 5 6 15 7 8 計算從 i 開始連續 k 個數之和 sum k 2 i k 1 2 當 sum n 時,有 k k 2 i 1 k 2 n 0 變形為 i 2 n k k 1 2。在 2,2 n k...

經典題 乙個整數分解為連續正整數之和

為了找份暑期實習生的工作,今天去某公司面試。很喜歡這樣的公司,首先不問出身 不問愛好,直接給你一台電腦,幾道程式設計題目,讓你寫程式。其中有道題目是將乙個整數分解為連續正整數之和,如15可以分解為 15 1 2 3 4 5 15 4 5 6 15 7 8 這道題,我用最死板的方法給編出來了。輸入數n...

演算法 正整數分解為幾個連續自然數之和

題目 輸入乙個正整數,若該數能用幾個連續正整數之和表示,則輸出所有可能的正整數序列。乙個正整數有可能可以被表示為n n 2 個連續正整數之和,如 15 1 2 3 4 5 15 4 5 6 15 7 8 有些數可以寫成連續n 1 個自然數之和,比如14 2 3 4 5 有些不能,比如8.那麼如何判斷...