Pagini recente » Cod sursa (job #3202551) | Borderou de evaluare (job #3146087) | Cod sursa (job #2722406) | Cod sursa (job #415765) | Cod sursa (job #1253355)
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("fact.in");
ofstream out("fact.out");
long long n;
long long nr0(long long p)
{
long long cnt=1;
long long s=0;
while(p/cnt>0)
{
cnt=cnt*5;
s=s+p/cnt;
}
return s;
}
int main()
{
long long p;
in>>p;
long long x = 100000000000000000/2;
long st=1,dr=x*2,mij=x;
while(st<=dr)
{
mij=(st+dr)/2;
if(nr0(mij)==p)
{
n=mij;
break;
}
else if(nr0(mij)<p)
st=mij+1;
else
dr=mij-1;
}
if(n!=0)
{
while(n>0 && nr0(n)==p)
n--;
out<<n+1;
}
else
out<<-1;
return 0;
}