Cod sursa(job #1710222)

Utilizator alexpetrescuAlexandru Petrescu alexpetrescu Data 28 mai 2016 17:52:48
Problema Consecutive Scor 0
Compilator cpp Status done
Runda Arhiva ICPC Marime 0.87 kb
#include <cstdio>
#define MAXN 100000
struct mycreation{
    int a, b;
}sol[MAXN];
int main(){
    int n, t, i, ans, a;
    long long x;
    FILE *fin, *fout;
    fin=fopen("consecutive.in", "r");
    fout=fopen("consecutive.out", "w");
    fscanf(fin, "%d", &t);
    for(; t; t--){
        fscanf(fin, "%d", &n);
        ans=0;
        i=2;
        x=i*(i-1)/2;
        while(x<=n){
            a=(n-x)/i;
            if(n==a*(long long)i+x){
                ans++;
                sol[ans].a=a;
                sol[ans].b=a+i-1;
            }
            i++;
            x=i*(long long)(i-1)/2;
        }
        if(sol[ans].a==0){
            ans--;
        }
        fprintf(fout, "%d\n", ans);
        for(i=1; i<=ans; i++){
            fprintf(fout, "%d %d\n", sol[i].a, sol[i].b);
        }
    }
    fclose(fin);
    fclose(fout);
    return 0;
}