Cod sursa(job #2045994)
| Utilizator | Data | 23 octombrie 2017 11:13:55 | |
|---|---|---|---|
| Problema | Factorial | Scor | 90 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.63 kb |
#include <iostream>
#include <fstream>
using namespace std;
long long mij,nr,p,k;
long zerouri(long long x)
{
p=5;
nr=0;
while(p<=x)
{
nr=nr+x/p;
p=p*5;
}
return nr;
}
long long cautarez (long long l, long long r)
{
while(l<=r)
{
mij=l+(r-l)/2;
if(zerouri(mij)>=k){
if(zerouri(mij-1)<k || mij==l) return mij;
else r=mij-1;
}
else
l=mij+1;
}
return -1;
}
int main()
{ ifstream cin("fact.in");
ofstream cout("fact.out");
cin>>k;
cout<<cautarez(1,1000000000);
return 0;
}
