The sum problem
Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 21706 Accepted Submission(s): 6368
Problem Description
Given a sequence 1,2,3,......N, your job is to calculate all the possible sub-sequences that the sum of the sub-sequence is M.
Input
Input contains multiple test cases. each case contains two integers N, M( 1 <= N, M <= 1000000000).input ends with N = M = 0.
Output
For each test case, print all the possible sub-sequence that its sum is M.The format is show in the sample below.print a blank line after each test case.
Sample Input
20 10 50 30 0 0
Sample Output
[1,4] [10,10] [4,8] [6,9] [9,11] [30,30]
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
while (input.hasNext()){
int n=input.nextInt();
int m=input.nextInt();
if (n==0&&m==0){
return;
}
int i=0,j=0;
for(j=(int)Math.sqrt((double)(2*m));j>=1;j--){
i=(2*m/j+1-j)/2;;
if((2*i+j-1)*j/2==m)
System.out.println("["+i+","+(i+j-1)+"]");
}
System.out.println();
}
}
}