hdu2058 The sum problem

来源:互联网 发布:如何查看淘宝店铺粉丝 编辑:程序博客网 时间:2024/06/06 00:40

思路:随便搞搞...


#include <string.h>#include <stdio.h>#include <math.h>int main(){    int i,j,n,m,t;   while(scanf("%d%d",&n,&m), m && n)   {           m*=2;           for(i=(int)sqrt((double)m);i>=2;i--)           {                 if(m%i==0)                 {                         t=m/i+1-i;                         if (t>=2 && t%2==0)                         {                              t>>=1;                              if(t+i-1<=n)                                  printf("[%d,%d]\n",t,t+i-1);                          }                 }           }           m>>=1;           if(n>=m) printf("[%d,%d]\n",m,m);           printf("\n");    }   return 0;}

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 1050 300 0
 

Sample Output

[1,4][10,10][4,8][6,9][9,11][30,30]
 


0 0