Cod sursa(job #1771501)

Utilizator andra1782Andra Alazaroaie andra1782 Data 5 octombrie 2016 18:31:36
Problema Factorial Scor 100
Compilator c Status done
Runda Arhiva de probleme Marime 0.57 kb
#include <stdio.h>

long long putere5(int n){
    long long p5=5,t=0;

    while(p5<=n){
        t+=n/p5;
        p5*=5;
    }
    return t;
}

int main(){
    FILE *fin=fopen("fact.in","r");
    FILE *fout=fopen("fact.out","w");
    long long p,i,pas;

    fscanf(fin,"%lld",&p);
    i=0;
    pas=1<<30;
    while(pas!=0){
        if(putere5(i+pas)<p)
            i+=pas;
        pas/=2;
    }
    i++;
    if(putere5(i)==p)
        fprintf(fout,"%lld\n",i);
    else
        fprintf(fout,"-1\n");
    fclose(fin);
    fclose(fout);
    return 0;
}