题目描述:
一个正整数有可能可以被表示为n(n>=2)个连续正整数之和,如:
15=1+2+3+4+5
15=4+5+6
15=7+8
一个正整数有可能可以被表示为n(n>=2)个连续正整数之和,如:
15=1+2+3+4+5
15=4+5+6
15=7+8
请编写程序,根据输入的任何一个正整数,找出符合这种要求的所有连续正整数序列。
代码:
import java.util.Scanner;
public class No1 {
public static void main(String[] args) {
Scanner reader = new Scanner(System.in);
int number = reader.nextInt();
getContinuousNumbers(number);
}
public static void getContinuousNumbers(int num){
boolean flag = false;
for(int i=1;i<=num/2;i++){
int sum=0;
for(int j=i;j<=num/2+1;j++){
sum+=j;
if(sum==num){
for(int k=i;k<=j;k++){
flag = true;
System.out.print(k+" ");
}
System.out.println("\n");
}
}
}
if(!flag){
System.out.println("NONE");
}
}
}