输入一个正整数n,输出所有和为n连续正数序列(例如:15输出 [ [1,2,3,4,5 ] , [ 4,5,6 ] , [ 7,8 ] ] ),java
时间: 2024-05-05 07:16:30 浏览: 36
```
import java.util.ArrayList;
import java.util.List;
public class Main {
public static List<List<Integer>> findContinuousSequence(int sum) {
List<List<Integer>> res = new ArrayList<>();
int left = 1, right = 2;
while (left < right) {
int curSum = (left + right) * (right - left + 1) / 2;
if (curSum == sum) {
List<Integer> list = new ArrayList<>();
for (int i = left; i <= right; i++) {
list.add(i);
}
res.add(list);
left++;
} else if (curSum < sum) {
right++;
} else {
left++;
}
}
return res;
}
public static void main(String[] args) {
int n = 15;
List<List<Integer>> res = findContinuousSequence(n);
for (List<Integer> list : res) {
System.out.println(list);
}
}
}
```