Cod sursa(job #1709503)

Utilizator UPT.CVLPUPT Sirb Popovici Rugea UPT.CVLP Data 28 mai 2016 12:38:54
Problema Consecutive Scor 0
Compilator c Status done
Runda ONIS 2016 - Runda - 2 - ACM ICPC Romanian Programming Contest Marime 0.89 kb
#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;
}