Cod sursa(job #186840)

Utilizator drag0shSandulescu Dragos drag0sh Data 28 aprilie 2008 20:27:49
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <stdio.h>
unsigned long p;
unsigned long cifre(unsigned long nr){
    long suma,putere;
    putere=5;
    suma=0;
    while(nr>=putere){
        suma+=nr/putere;
        putere*=5;
    }
    return suma;
}
unsigned long cautare(unsigned long prim,unsigned long ultim){
    if(prim>ultim)return-1;
    unsigned 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,500000000);
if(rez>5)rez=rez-rez%5;
if(rez>0&&rez<5) rez=1;
printf("%ld",rez);
fclose(stdin);
fclose(stdout);
return 0;
}