Pagini recente » Cod sursa (job #252946) | Cod sursa (job #2542147) | Cod sursa (job #2229711) | Cod sursa (job #2478985) | Cod sursa (job #1708959)
#include <iostream>
#include <stdio.h>
#include <cmath>
#define NMAX 350000
using namespace std;
int N, k, sn, m, L, i, j, numar, T, x;
int lungime[NMAX], stanga[NMAX];
int main() {
freopen("consecutive.in", "r", stdin);
freopen("consecutive.out", "w", stdout);
scanf("%d", &T);
while(T--) {
k = 0; numar = 0;
scanf("%d", &N);
sn = 5 * sqrt(N);
for(L = 2; L <= sn; ++ L) {
m = N - (L-1) * L / 2;
if(m % L == 0) {
x = m / L;
if(x > 0) {
stanga[k++] = x;
lungime[k - 1] = L;
numar ++;
}
}
}
printf("%d\n", numar);
for(i = 0; i < k; ++i) {
printf("%d %d\n", stanga[i], stanga[i] + lungime[i] - 1);
}
}
return 0;
}