输出所有和为S的连续正数序列

来源:互联网 发布:国金证券知乎 编辑:程序博客网 时间:2024/04/27 00:27

题目:输出所有和为S的连续正数序列。序列内按照从小至大的顺序,序列间按照开始数字从小到大的顺序。

package test05;import java.util.ArrayList;public class test01 {    public ArrayList<ArrayList<Integer>> FindContinuousSequence(int sum) {        ArrayList<ArrayList<Integer>> allList = new ArrayList<>();// 就是第一次从1开始,第二次从2开始,......最后一次从sum/2开始        for (int i = 1; i <= sum / 2; i++) {            int temp = 0;            ArrayList<Integer> list = new ArrayList<>();            for (int j = i; j <= sum - temp; j++) {                temp = temp + j;                list.add(j);                if (temp == sum) {                    allList.add(list);                    break;                } else if (temp > sum) {                    break;                }            }        }        return allList;    }}
原创粉丝点击