Pagini recente » Cod sursa (job #1743219) | Cod sursa (job #3216628) | Cod sursa (job #2468741) | Cod sursa (job #1069417) | Cod sursa (job #2259482)
#include <iostream>
#include <fstream>
#include <cmath>
#include <vector>
#include <algorithm>
using namespace std;
ifstream in("consecutive.in");
ofstream out("consecutive.out");
long long t;
vector<pair<long long int,long long int> >v;
long long a,b;
inline bool e_bine(long long x,long long n){
if(n % (x + 1) == 0 && (n / (x + 1) - x) % 2 == 0){
a = (n / (x + 1) - x) / 2;
b = a + x;
return true;
}
return false;
}
int main()
{
ios::sync_with_stdio(false);
in.tie(0);
out.tie(0);
in>>t;
long long nr;
for(int i = 0; i < t; i++){
in>>nr;
v.clear();
long long x,pos;
for(x = 1; x * x <= 2 * nr; x ++){
if(e_bine(x,2 * nr) && a && b)
v.push_back(make_pair(a,b));
}
out<<v.size()<<"\n";
for(int i = 0; i < v.size(); i++)
out<<v[i].first<<" "<<v[i].second<<"\n";
}
return 0;
}