输入一个正数s,打印出所有和为s的连续正数序列(至少含有两个数)。
例如输入15,由于1+2+3+4+5=4+5+6=7+8=15,所以结果打印出3个连续序列1~5、4~6和7~8。
class Solution {
public List<List<Integer>> findContinuousSequence(int sum) {
List<List<Integer>> output = new ArrayList<List<Integer>>();
int tol=0;
for(int n = 2; n < sum; n++){
if((2*sum+n-n*n)>0&&(2*sum+n-n*n)%(2*n)==0){
int start = (2*sum+n-n*n)/(2*n);
int end = start+n-1;
List <Integer> out = new ArrayList<Integer>();
for(int i =start; i<=end ; i++ ){
out.add(i);
}
output.add(out);
}
}
return output;
}
}