这一题的方法是假设有个子序列 是有i个连续的数构成的,当i为奇数时m/i%1==0且(m/i-(i/2))>0 时才有符合的子序列
当i为偶数时m/i%1==0.5且(m/i-(i-1/2))>0 时才有符合的子序列
方法有点笨
import java.util.Scanner;
class Main{
public static void main(String args[]){
Scanner sc = new Scanner(System.in);
while(sc.hasNext()){
int n = sc.nextInt();
int m = sc.nextInt();
if (n==0&m==0) {
break;
}
double a = m<n?m:n;
double b = m;
for (int i = (int) (Math.sqrt(a+1)*10); i >0; i--) {
if (i%2==1) {
if((b/i)%1==0&&(m/i-(i/2))>0){
System.out.println("["+(m/i-(i/2))+","+(m/i+(i/2))+"]");
}
}else {
if((b/i)%1==0.5&&(m/i-((i-1)/2))>0){
System.out.println("["+(m/i-((i-1)/2))+","+(m/i+(i/2))+"]");
}
}
}
System.out.println();
}
}
}