Pagini recente » Cod sursa (job #3157738) | Cod sursa (job #2722581) | Cod sursa (job #1255106) | Cod sursa (job #1684742) | Cod sursa (job #1309431)
#include <bits/stdc++.h>
using namespace std;
ifstream in("fact.in");
ofstream out("fact.out");
int p,n;
int zeros(int x)
{
int d=0,c=0;
for(int i=2;i<=x;i=i*1LL*2)d+=(x/i);
for(int i=5;i<=x;i=i*1LL*5)c+=(x/i);
return min(d,c);
}
int main() {
in>>p;
int left=1,right=numeric_limits<int>::max()-1;
while(right>left)
{
int mid=(right+left)/2;
int t=zeros(mid);
if(p<t)right=mid-1;
if(p>t)left=mid+1;
if(t==p)
{
out<<mid;
return 0;
}
}
out<<-1;
return 0;
}