Cod sursa(job #186828)

Utilizator drag0shSandulescu Dragos drag0sh Data 28 aprilie 2008 20:14:22
Problema Factorial Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <stdio.h>
unsigned long p;
long cifre(long nr){
    long suma,putere;
    putere=5;
    suma=0;
    while(nr>=putere){
        suma+=nr/putere;
        putere*=5;
    }
    return suma;
}
long cautare(long prim,long ultim){
    if(prim>ultim)return-1;
    long m,q;
    m=(prim+ultim)/2;
    q=cifre(m);
    if(p==q) return m;
    if(p<q) return cautare(prim,m-1);
    return cautare(m+1,ultim);
}
int main(){
freopen("fact.in","r",stdin);
freopen("fact.out","w",stdout);
scanf("%ld",&p);
//printf("%ld",cifre(45));
unsigned long rez;
rez=cautare(1,500000);
rez=rez-rez%5;
printf("%ld",rez);
fclose(stdin);
fclose(stdout);
return 0;
}