Pagini recente » Cod sursa (job #2265382) | Cod sursa (job #1122615) | Cod sursa (job #2991080) | Cod sursa (job #2491099) | Cod sursa (job #2381067)
#include <fstream>
#include <vector>
#define nmax 100002
using namespace std;
ifstream fin("consecutive.in");
ofstream fout("consecutive.out");
struct duet{
long long a,b;
};
vector <duet> v;
long long x,y;
bool pot(long long n,long long k)
{
if(n%(k+1)==0&&(n/(k+1)-k)%2==0)
{
x=(n/(k+1)-k)/2;
y=x+k;
return 1;
}
return 0;
}
int main()
{
long long n;
int t;
fin>>t;
for(int i=1;i<=t;i++)
{
fin>>n;
v.clear();
for(long long j=1;j*j<=2*n;j++)
if(pot(2*n,j)&&x)
v.push_back({x,y});
int c=v.size()-1;
fout<<c+1<<"\n";
for(int j=0;j<=c;j++)
fout<<v[j].a<<" "<<v[j].b<<"\n";
}
return 0;
}