Pagini recente » Cod sursa (job #2361598) | Cod sursa (job #1723249) | Autentificare | Cod sursa (job #1512) | Cod sursa (job #1709129)
#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--) {
int x, k, n;
scanf("%d", &x);
int len;
int cnt = 0;
for (len = 2; (long long)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("%d\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("%d %d\n", n-k+1, n);
}
}
}
return 0;
}