連續整數和問題

2022-05-30 04:27:12 字數 667 閱讀 4499

問題描述:大部分的正整數可以表示為2個以上連續整數之和。如6=1+2+3,9=4+5=2+3+4.你的任務是求出給定正整數可以表示為多少個2個以上連續整數之和。

思路:令輸入的數為n,i=1,j=i+i,sum=∑(i,j),m=n/2+1;

在3個之中迴圈。直到不滿足條件為止。 條件:i<=j && j

1.若sum

2.若sum>n,說明和超了,則 讓sum=sum-i,假如之前有4個數字相加,那麼現在變為了3個數字相加。然後使得i+1

3.若sum=n,說明滿足條件,cnt+1.   sum=sum-i,i++ 繼續尋找滿足和。。

view code

1 #include 2 #include 3

using

namespace

std;

4int findresult(intn)5

19else

if(sum

2024

else

if(sum>n)

2529}30

return

cnt;31}

32int

main()

3340

return0;

41 }

連續整數和問題

問題描述 大部分正整數可以表示2個以上連續整數之和。如 6 1 2 3,9 5 4 2 3 4 實驗任務 連續整數和問題要求計算給定的正整數可以表示為多少個2以上連續整數之和。解題過程 乙個數m若可以寫成以a開頭的連續n個自然數之和,則m a a 1 a 2 a n 1 n a n n 1 2,要求...

連續正整數問題

題目描述 乙個正整數有可能可以被表示為 n n 2 個連續正整數之和,如 15 1 2 3 4 5 15 4 5 6 15 7 8 請編寫程式,根據輸入的任何乙個正整數,找出符合這種要求的所有連續正整數序列。輸入資料 乙個正整數,以命令列引數的形式提供給程式。輸出資料 在標準輸出上列印出符合題目描述...

遞迴 求連續整數和

題目 輸入乙個正數n,輸出所有和為n連續正數序列。例如輸入15,由於1 2 3 4 5 4 5 6 7 8 15,所以輸出3個連續序列1 5 4 6和7 8。解題思路 首先,要找的肯定是小於等於n 2 1的數。那麼我們就可以從n 2 1開始向下每個數遞迴尋找,如果找到合適的情況,那麼久輸出即可。遞迴...