Pagini recente » Cod sursa (job #1208175) | Cod sursa (job #2914181) | Cod sursa (job #2821733) | Cod sursa (job #2864090) | Cod sursa (job #1709503)
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
int T, N;
FILE *fin = fopen("consecutive.in", "r");
FILE *fout = fopen("consecutive.out", "w");
fscanf(fin, "%d", &T);
int aS[100000];
int aD[100000];
int i, x, SUS, JOS;
int k, c, cond;
for(i = 1; i <= T; i++)
{
c = 0;
fscanf(fin, "%d", &N);
cond = 2 + ceil(sqrt(N));
for(x = 2; x <= cond; x++)
{
SUS = (2*N - x*(x-1));
JOS = (2*x);
if(SUS % JOS == 0)
{
k = SUS / JOS;
c++;
aS[c] = k;
aD[c] = k+x-1;
}
if(k == 1)
break;
}
fprintf(fout, "%d\n",c);
for(x = 1; x <= c; x++)
fprintf(fout, "%d %d\n", aS[x], aD[x]);
}
fclose(fin);
fclose(fout);
return 0;
}