超时代码:思路易想到,但是数据量太大
package com.demo3;
import java.util.Scanner;
/*
* 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.
*/
public class HDU_oj2058 {
public static void main(String[] args) {
Scanner sn = new Scanner(System.in);
long n,m,sum,start,end=0;
while(sn.hasNext()) {
n = sn.nextLong();
m = sn.nextLong();
if(n == 0 && m == 0) {
break;
}
for(long i = 1;i <= n;i++) {
sum = 0;
start = i; //首先从i开始
if(start <= m) { //如果刚好遍历到这个值等于m
end = start;
while(sum < m) { //遍历序列
sum += end;
end++;
}
if(sum == m) {
end = end-1;
System.out.println("[" + start + "," + end +"]");
} else {
continue;
}
}