Pagini recente » Cod sursa (job #700897) | Cod sursa (job #2495383) | Cod sursa (job #1500940) | Cod sursa (job #2029496) | Cod sursa (job #1709396)
#include <iostream>
#include <stdio.h>
#include <cmath>
#include <vector>
#include <utility>
using namespace std;
int main() {
freopen("consecutive.in", "r", stdin);
freopen("consecutive.out", "w", stdout);
int t;
scanf("%i", &t);
for (int i = 0; i < t; i++) {
vector< pair<int, int> > pairs;
long long n;
scanf("%lli", &n);
int k = sqrt(2LL * n);
for (int j = 2; j <= k; j++) {
long long diff = n - 1LL * (j - 1) * j / 2;
int rest = diff % j;
if (rest == 0) {
pairs.push_back(make_pair(diff / j, diff / j + j - 1));
}
}
printf("%i\n", pairs.size());
for (int j = 0; j < pairs.size(); j++) {
printf("%i %i\n", pairs[j].first, pairs[j].second);
}
}
fclose(stdin);
fclose(stdout);
}