Pagini recente » Cod sursa (job #154778) | Cod sursa (job #1883866) | Cod sursa (job #1728125) | Cod sursa (job #2675930) | Cod sursa (job #1309437)
#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;
if(p==0){
out<<1;
return 0;
}
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)
{
for(mid--;zeros(mid)==p;mid--);
out<<mid+1;
return 0;
}
}
out<<-1;
return 0;
}