輸入一個正整數n,輸出所有和為n的連續正整數序列
阿新 • • 發佈:2018-11-19
1 public static void main(String[] args) {
2 Scanner sc = new Scanner(System.in);
3 while (true) {
4 System.out.println("please input a positive integer: ");
5 int n = sc.nextInt();
6 getSubInteger(n);
7 System.out.println("=========================");
8 }
9 }
10
11 public static void getSubInteger(int n) {
12 int min = 1;
13 int max = 1;
14 int sum = 0;
15 while (min <= n / 2 + 1) {
16 if (sum == n) {
17 System.out.print(n + " = ");
18 for (int k = min; k <= max - 1; k++) {
19 if (k < max - 1)
20 System.out.print(k + " + ");
21 else
22 System.out.print(k);
23 }
24 System.out.println();
25 min++;
26 max = min;
27 sum = 0;
28 } else if (sum > n) {
29 sum = 0;
30 min++;
31 max = min;
32 } else {
33 sum = sum + max;
34 max++;
35 }
36 }
37 }