Pagini recente » Cod sursa (job #2505583) | Cod sursa (job #867093) | Cod sursa (job #1177709) | Cod sursa (job #117888) | Cod sursa (job #1709143)
#include <iostream>
#include <stdio.h>
#include <math.h>
using namespace std;
int main()
{
freopen("consecutive.in","r", stdin);
freopen("consecutive.out", "w", stdout);
int T;
scanf("%d", &T);
while(T--) {
long long x, k, n;
scanf("%lld", &x);
long long len;
long long cnt = 0;
for (len = 2; len * (len + 1) / 2 <= x; len++);
for (k = 2; k < len; k++) {
long long nr = 2 * x + k * k - k;
long long num = 2 * k;
if (nr % num == 0)
cnt++;
}
printf("%lld\n", cnt);
for (k = 2; k < len; k++) {
long long nr = 2 * x + k * k - k;
long long num = 2 * k;
if (nr % num == 0) {
n = nr / num;
printf("%lld %lld\n", n-k+1, n);
}
}
}
return 0;
}