给WA脑残了,一直WA。
#include <cstdio>
#include <iostream>
using namespace std;
int main()
{
int N,M;
while (scanf("%d",&N)!=EOF)
{
scanf("%d",&M);
int counter=0;
int L[100000],R[100000];
int div=2;
int left,right;
while (1)
{
if (div%2==0)
{
if (M%div==0.5*div)
{
left=M/div-(div/2-1);
right=M/div+(div/2);
if (left>=1 && right<=N)
{
L[counter]=left;
R[counter]=right;
counter++;
}
else
break;
}
}
else
{
if (M%div==0)
{
left=M/div-div/2;
right=M/div+div/2;
if (left>=1 && right<=N)
{
L[counter]=left;
R[counter]=right;
counter++;
}
else
break;
}
}
div++;
}
int i;
for (i=counter-1;i>=0;i--)
printf("[%d,%d]\n",L[i],R[i]);
if (M<=N)
printf("[%d,%d]\n",M,M);
}
return 0;
}