Pagini recente » Cod sursa (job #165445) | Cod sursa (job #2153693) | Cod sursa (job #894409) | Cod sursa (job #3241435) | Cod sursa (job #1557362)
#include<cstdio>
using namespace std;
unsigned long long n,p;
unsigned long long zerouri(unsigned long long x)
{
unsigned long long s=0;
unsigned long long k=5;
while(k<=x)
{
unsigned long long a=x/k;
s+=a;
k*=5;
}
return s;
}
unsigned long long cautbin(unsigned long long val)
{
unsigned long long start=1;unsigned long long step=(1<<30);
for(;step;step>>=1)
{
unsigned long long index=start+step;
if(zerouri(index)<=val) start=index;
}return start;
}
int main()
{
freopen("fact.in","r",stdin);
freopen("fact.out","w",stdout);
scanf("%lld",&p);
unsigned long long val=cautbin(p);
if(p==0) printf("1");
else if(val==0) printf("-1"); else printf("%lld",val-val%5);
}