Pagini recente » Cod sursa (job #2690887) | Cod sursa (job #1229000) | Cod sursa (job #220636) | Cod sursa (job #3219973) | Cod sursa (job #1709027)
#include <iostream>
#include <stdio.h>
#include <cmath>
#define NMAX 350000
#define eps 0.00001
using namespace std;
int N, k, sn, m, L, i, j, numar, T, x;
int lungime[NMAX], stanga[NMAX];
double 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 = sqrt(2 * N);
for(L = 2; L <= sn; ++ L) {
n = (double) N / L + (double) L / 2 + (double) 1 / 2;
if(abs(n - int(n)) <= eps) {
x = (int) ((double) N / L - (double) (L - 1) / 2);
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;
}