Pagini recente » Cod sursa (job #2932938) | Cod sursa (job #1121849) | Cod sursa (job #1846795) | Cod sursa (job #288031) | Cod sursa (job #1712968)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("consecutive.in");
ofstream fout("consecutive.out");
long long P;
int T;
vector<pair<long long, long long> >v;
int main()
{
fin >> T;
while (T--)
{
fin >> P;
long long N = (-1 + sqrtl(1 + 8 * P)) / 2;
for (long long i = 2; i <= N; i++)
{
if ((2 * P - i * (i - 1)) % (2 * i) == 0 && (2 * P - i * (i - 1)) / (2 * i) >= 0)
{
v.push_back(make_pair(P / i - (i - 1) / 2, P / i - (i - 1) / 2 + i - 1));
}
}
fout << v.size() << '\n';
for (int i = 0; i < v.size(); i++)
{
fout << v[i].first << " " << v[i].second << '\n';
}
v.clear();
}
return 0;
}