和為n連續正數序列

2021-06-13 23:32:40 字數 689 閱讀 6496

//51.和為n連續正數序列。

//題目:輸入乙個正數n,輸出所有和為n連續正數序列。

//例如輸入15,由於1+2+3+4+5=4+5+6=7+8=15,所以輸出3個連續序列1-5、4-6和7-8。

//分析:這是網易的一道面試題。

//這個題目出自微軟等資料結構+演算法面試100題

//在devc++中編譯通過

/*name:

author:

date: 23-06-11 15:27

description: */

#include#includeusing namespace std;

int main()

for(int i=0;i<(n/2+1);++i)

int sml,big;

int sum=t[0]+t[1];

for(sml=0,big=1;big<(n/2+1);)

{if(sum==n)

{for(int i=sml;i<=big;i++)

{cout<

分析:首先開闢乙個陣列,並對之初始化。這個演算法做的事情是不斷地調整sml 和 big ,sml指向小的數,big指示大的數,他們之間(包括邊界)各個數的和為sum.

和為n連續正數序列

題目 輸入乙個正數n,輸出所有和為n連續正數序列。例如輸入15,由於1 2 3 4 5 4 5 6 7 8 15,所以輸出3 個連續序列1 5 4 6 和7 8。思路 既然是連續正整數,則可以將其看成是等差數列,公差d 1 等差數列前n項求和公式為sn na1 n n 1 d 2,其中sn為使用者輸...

和為 n 連續正數序列

題目 輸入乙個正數 n,輸出所有和為 n 連續正數序列。例如輸入 15,由於 1 2 3 4 5 4 5 6 7 8 15,所以輸出 3 個連續序列 1 5 4 6 和 7 8。思路 我們再找連續的序列,那麼我們從最小的一直往前加,如果和結果相等,那麼這是乙個符合條件的序列,然後再連續的往後加,如果...

和為n連續正數序列

題目 輸入乙個正數n,輸出所有和為n的連續正數序列 舉例 輸入15,由於1 2 3 4 5 4 5 6 7 8 15,所以輸出3個連續序列1,2,3,4,5 4,5,6 7,8。答 include stdafx.h include using namespace std 求和為n的連續正數序列 vo...