Pagini recente » Cod sursa (job #1228229) | Cod sursa (job #3194809) | Cod sursa (job #2343207) | Cod sursa (job #1949154) | Cod sursa (job #2016217)
#include <cstdio>
#include <vector>
int main() {
freopen("consecutive.in", "r", stdin);
freopen("consecutive.out", "w", stdout);
long long T;
scanf("%lld", &T);
for (long long t = 1; t <= T; ++t) {
long long N;
scanf("%lld", &N);
long long l = 2;
std::vector<long long> start;
std::vector<long long> finish;
while (l * (l - 1) / 2 < N) {
if ((N - l * (l - 1) / 2) % l == 0) {
start.push_back((N - l * (l - 1) / 2) / l);
finish.push_back((N - l * (l - 1) / 2) / l + l - 1);
}
l++;
}
printf("%lld\n", (long long) start.size());
for (int i = 0; i < start.size(); ++i) {
printf("%lld %lld\n", start[i], finish[i]);
}
}
return 0;
}