Pagini recente » Cod sursa (job #296291) | Cod sursa (job #38357) | Cod sursa (job #1467677) | Cod sursa (job #2347353) | Cod sursa (job #1711908)
#include <cstdio>
#include<algorithm>
using namespace std;
int sol[100000];
int main()
{
FILE *in,*out;
in=fopen("consecutive.in","r");
out=fopen("consecutive.out","w");
int t,i,n,a1,test,d1,d2,ind;
long long nr;
fscanf(in,"%d",&t);
for(test=1;test<=t;test++)
{
ind=0;
fscanf(in,"%lld",&nr);
nr=nr*2;
for(d1=2;d1*d1<=nr;d1++)
{
if(nr%d1==0)
{
d2=nr/d1;
n=d1;
if((d2-n+1)>=2 && (d2-n+1)%2==0)
{
ind++;
sol[ind]=n;
}
n=d2;
if((d1-n+1)>=2 && (d1-n+1)%2==0)
{
ind++;
sol[ind]=n;
}
}
}
sort(sol+1,sol+ind+1);
fprintf(out,"%d\n",ind);
for(i=1;i<=ind;i++)
{
n=sol[i];
a1=nr/n-n+1;
a1=a1/2;
fprintf(out,"%d %d\n",a1,a1+n-1);
}
}
return 0;
}