欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-07-15 12:25:16
...

题目:输出所有和为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;
    }
}
相关标签: 正数序列