Pagini recente » Cod sursa (job #3201376) | Cod sursa (job #184750) | Cod sursa (job #2859255) | Cod sursa (job #2299868) | Cod sursa (job #1953674)
#include <fstream>
using namespace std;
ifstream f("fact.in");
ofstream g("fact.out");
//returneaza numarul de zerouri pana la n!
long long numar_zerouri(long n)
{
long long cnt=0;
for(long i=5; n/i>=1; i*=5)
cnt+=n/i;
return cnt;
}
//returneaza un numar cu p zerouri la sfarsit sau 0 daca nu gaseste
long cautbin(long p)
{
long l=1, r=100000001, mid;
while(l<r)
{
mid=(l+r)/2;
if(numar_zerouri(mid)>=p)
r=mid;
else
l=mid+1;
}
if(numar_zerouri(l)==p)
return l;
return 0;
}
int main()
{
long p;
f>>p;
if(p==0)
g<<1;
else if(cautbin(p)==0)
g<<"-1";
else if(cautbin(p)>0)
g<<cautbin(p);
f.close();
g.close();
return 0;
}