Pagini recente » Cod sursa (job #2856590) | Profil XTFKX | Borderou de evaluare (job #1094384) | Borderou de evaluare (job #1347344) | Cod sursa (job #1720706)
#include <cstdio>
using namespace std;
int zero(int &x)
{
long long k=0;
for(int i=5; i<=x; i*=5) k=k+x/i;
return k;
}
int main()
{
freopen("fact.in", "r", stdin);
freopen("fact.out", "w", stdout);
int p;
scanf("%d", &p);
if(p==0) printf("%d", 1);
else
{
int lo=1, hi=1000000000, mid;
while(lo<=hi)
{
mid=lo+(hi-lo)/2;
if(zero(mid)<p) lo=mid+1;
else hi=mid-1;
}
mid=lo+(hi-lo)/2;
if(zero(mid)>p) mid--;
if(zero(mid)==p) printf("%d", mid);
else printf("%d", -1);
}
}