1. 程式人生 > >輸入一個正整數n,輸出所有和為n的連續正整數序列

輸入一個正整數n,輸出所有和為n的連續正整數序列

 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 }