题目:
一个 0-1000 的整数,拆解为一个(本身)或多个连续自然数的和,按照自然数的个数从少到多输出各个方案 input = solution,方案内的自然数按照从小到大排列
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int x = input.nextInt();
if (x <= 1000 && x >= 0){
if (x == 0){
System.out.println(0);
}else if (x == 1){
System.out.println(x);
System.out.println(0+" "+1);
}else {
System.out.println(x);
for (int i = x; i >=0; i--){
int sum = i;
for (int j = i - 1; j >= 0; j--){
if (sum + j == x){
for (int f = j; f < i; f++){
System.out.print(f+" ");
}
System.out.println(i);
sum = sum + j;
}else {
sum = sum + j;
}
}
}
}
}
}