Pagini recente » Cod sursa (job #2236941) | Cod sursa (job #2143128) | Cod sursa (job #1211778) | Cod sursa (job #2373417) | Cod sursa (job #2391488)
//#include <iostream>
#include <fstream>
using namespace std;
//int v[1000000],prime[]={2,3,5,7,9,11,13};
int cati5(long long x)
{int nr=0,p=1,c=0;
x=x-x%5;
while(p*5<=x)p=p*5;
while(p>1){
nr=nr+x/p;
p/=5;
}
return nr;
}
int cautbin(long long st,long long dr,int p){long long m;
if(st<=dr){m=(st+dr)/2;
if(p>cati5(m))
return cautbin(m+1,dr,p);
else return cautbin(st,m-1,p);}
else
if(p==cati5(st))
return st;
else return -1;
}
ifstream fin("fact.in");
ofstream fout("fact.out");
int main()
{/*int i,k,d,j=0;
prime[1]=1;
for(d=2;d*d<=1000000;d++)
if(v[d]==0)
for(k=2;k*d<=1000000;k++)
v[d*k]=1;
for(i=2;i<=d;i++)
if(v[i]==0){prime[j++]=i;cout<<i<<" ";}*/
int p;
fin>>p;
// cout<<cati5(n);cout<<endl;
fout<<cautbin(1,2000000000,p)<<endl;
return 0;
}