Pagini recente » Cod sursa (job #1636372) | Cod sursa (job #1365575) | Cod sursa (job #1639043) | Cod sursa (job #3151009) | Cod sursa (job #1709949)
#include <iostream>
#include <fstream>
#include<cmath>
using namespace std;
int main()
{
ifstream f ("consecutive.in");
ofstream g ("consecutive.out");
typedef struct{int x,y;}NOD;
NOD v[100000];
int t,i,n,x,y,j,k,a,b,p,q;
f>>t;
for(k=1;k<=t;k++)
{ j=0;
f>>n;
int x=sqrt(n)*2+2;
for(i=2;i<=x;i++)
{
if(i%2==0)
{
a=n/i-i/2;
b=n/i+i/2;
}
else {a=n/i-i/2-1;b=n/i+i/2;}
p=a*(a+1)/2;
q=b*(b+1)/2;
if(q-p==n&&a>-1)
{v[++j].x=b;v[j].y=a+1;}
}
g<<j<<'\n';
for(int l=1;l<=j;l++)
g<<v[l].y<<' '<<v[l].x<<'\n';
}
f.close();
g.close();
return 0;
}