Pagini recente » Cod sursa (job #642183) | Cod sursa (job #2066125) | Cod sursa (job #1728581) | Cod sursa (job #1980664) | Cod sursa (job #1974578)
#include <iostream>
#include <algorithm>
#include <vector>
#include <cmath>
#include <fstream>
#define pb push_back
#define mp make_pair
typedef long long ll;
using namespace std;
vector<pair<ll, ll>> intervals;
const string file = "consecutive", in = file + "in",
out = file + "out";
ifstream fin(in);
ofstream fout(out);
inline void go(ll u, ll v)
{
intervals.pb(mp((v - u - 1) / 2 + 1, (v + u - 1) / 2));
}
int main()
{
ios_base::sync_with_stdio(false);
int t;
fin >> t;
while (t--)
{
ll n;
fin >> n;
n <<= 1;
for (int i = 2; i <= sqrt(n); i++)
{
if (n % i)
continue;
go(i, n / i);
}
fout << intervals.size() << endl;
for (auto& iter : intervals)
fout << iter.first << " " << iter.second << "\n";
intervals.clear();
}
return 0;
}