Pagini recente » Cod sursa (job #1493204) | Cod sursa (job #2211453) | Cod sursa (job #126138) | Cod sursa (job #3290210) | Cod sursa (job #1709125)
#include <iostream>
#include <fstream>
#include <queue>
using namespace std;
int main() {
ifstream f("consecutive.in");
ofstream g("consecutive.out");
long long t, n;
f >> t;
for (long long tst = 0; tst < t; ++tst) {
queue<pair<long long, long long> > q;
f >> n;
for (long long k = 2; ; ++k) {
long long d = n / k;
if (k % 2 == 1) {
if (d - k / 2 <= 0) {
break;
}
if (n % k == 0) {
q.push(make_pair(d - k / 2, d + k / 2));
}
} else {
if (d - k / 2 + 1 <= 0) {
break;
}
if (n % (2 * d + 1) == 0) {
q.push(make_pair(d - k / 2 + 1, d + k / 2));
}
}
}
g << q.size() << '\n';
while (!q.empty()) {
long a, b;
a = q.front().first;
b = q.front().second;
g << a << ' ' << b << '\n';
q.pop();
}
}
return 0;
}