Cod sursa(job #178641)
Utilizator | Albu Alexandru albua | Data | 14 aprilie 2008 21:17:45 |
---|---|---|---|
Problema | Factorial | Scor | 0 |
Compilator | c | Status | done |
Runda | Arhiva de probleme | Marime | 0.65 kb |
ifstream fin("fact.in");
ofstream fout("fact.out");
unsigned long long nrcifre(unsigned long long a){
long long cifre=0;
while (a>0)
{
cifre+=a/5;
a/=5;
}
return cifre;
}
unsigned long long cautare(long long p)
{
unsigned long long c,n=0,st,sf,mij;
st=1;
sf=n=1<<31;
while (st<sf)
{ mij=(st+sf)/2;
if (nrcifre(mij)>=p){
if (mij<n) n=mij;
sf=mij;
} else
{
st=mij+1;
}
}
return n;
}
int main()
{
unsigned long long p;
fin>>p;
fout<<cautare(p);
fout.close();
return 0;
}