Pagini recente » Cod sursa (job #2220838) | Cod sursa (job #44870) | Cod sursa (job #2141414) | Cod sursa (job #895982) | Cod sursa (job #1709048)
#include <stdio.h>
#include <math.h>
#include <time.h>
unsigned long long int A[10000][2];
int main() {
int t;
unsigned long long int a, b, c, d, szam ;
unsigned long long int n, meddig;
freopen("consecutive.in", "r", stdin);
freopen("consecutive.out", "w", stdout);
//clock_t start = clock(), end;
scanf("%d", &t);
while (t) {
scanf("%llu", &b);
szam = 0;
meddig = (1 + sqrt((double)(1 + 8 * b))) / 2;
for (n = 1; n <= meddig; ++n) {
c = 2 * b - n*(n + 1);
d = 2 * (n + 1);
if (c > 0 && c % d == 0) {
a = c / d;
A[szam][0] = c / d;
A[szam++][1] = n;
//printf("%li\n", a);
}
}
printf("%llu\n", szam);
for (n = 0; n < szam; ++n) {
printf("%llu %llu\n", A[n][0], A[n][0] + A[n][1]);
}
--t;
}
//end = clock();
//printf("%Lf\n", (end - start) / CLOCKS_PER_SEC);
return 0;
}