Cod sursa(job #1803550)

Utilizator EmplopiStefan Nitu Emplopi Data 11 noiembrie 2016 16:23:31
Problema Factorial Scor 100
Compilator c Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <stdio.h>
#include <stdlib.h>

int baga(int n){
    int div=5, s=0;
    while(div<=n){
        s+=n/div;
        div*=5;
    }

    return s;
}

int calc(int x){
    int poz, pas;
    poz=1;
    pas=1<<30;
    while(pas!=0){
        if(baga(poz+pas)<x)
            poz+=pas;
        pas/=2;
    }
    poz++;
    if(baga(poz)!=x)
        poz=-1;
    if(x==0)
        poz=1;

    return poz;
}

int main(){
    FILE *fin, *fout;
    int p;
    fin=fopen("fact.in", "r");
    fout=fopen("fact.out", "w");
    fscanf(fin, "%d", &p);
    fprintf(fout, "%d", calc(p));
    fclose(fin);
    fclose(fout);

    return 0;
}