面試題 和為s的連續正數序列

2021-08-15 08:52:58 字數 480 閱讀 1294

輸入乙個正數s,列印出所有和為s的連續正數序列(至少含有兩個數)。例如,輸入15,由於1+2+3+4+5=4+5+6+7+8=15,所以列印出3個連續序列1~5、4~6和7~8。

思路:依舊雙指標套路

void findcontinuoussequence(int sum)

if(sum<3);

return ;

int small=1;

int big=2;

int middle=(1+sum)/2;

int cursum=small+big;

while(small

big++;

cursum+=big;}

void printcontinuoussequence(int small,int big)

for(int i=small;i<=big;++i)

printf("%d",i);

priintf("\n");

面試題 和為 n 連續正數序列

題目 輸入乙個正數 n,輸出所有和為 n連續正數序列。例如輸入 15,由於 1 2 3 4 5 4 5 6 7 8 15,所以輸出 3 個連續序列 1 5 4 6和 7 8。方法一 首先判斷n最多能由幾個連續數的和得到,假設最多由m個連續數和得到,那麼m m 1 2 n這樣很容易求得 m sqrt ...

面試題57 II 和為s的連續正數序列

題目 輸入乙個正整數 target 輸出所有和為 target 的連續正整數序列 至少含有兩個數 序列內的數字由小到大排列,不同序列按照首個數字從小到大排列。注意 題目要求的是連續的數字 方法一 暴力 列舉 第一層遍歷,固定 i 的位置,第二層遍歷從 i 的位置開始,乙個乙個加起來,當和 sum 的...

面試題57 II 和為s的連續正數序列

leetcode 面試題57 ii.和為s的連續正數序列 輸入乙個正整數 target 輸出所有和為 target 的連續正整數序列 至少含有兩個數 序列內的數字由小到大排列,不同序列按照首個數字從小到大排列。leetcode 面試題57 ii.和為s的連續正數序列 官方題解 列舉 暴力 列舉 數學...