Pagini recente » Cod sursa (job #3151142) | Cod sursa (job #2404645) | Cod sursa (job #3258607) | Cod sursa (job #2490766) | Cod sursa (job #1709090)
#include <iostream>
#include <stdio.h>
#include <cmath>
#define NMAX 350000
using namespace std;
long long N, k, sn, m, L, i, j, numar, T, x;
long long lungime[NMAX], stanga[NMAX];
long long n;
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 = 2 * sqrt(N);
for(L = 2; L <= sn; ++ L) {
n = 2 * N + L * L + L;
if(n % (2*L) == 0) {
x = (2*N - (L*L - L)) / (2 * 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;
}