Pagini recente » Cod sursa (job #2189668) | Cod sursa (job #314003) | Cod sursa (job #1869481) | Cod sursa (job #844527) | Cod sursa (job #2391476)
//#include <iostream>
#include <fstream>
using namespace std;
//int v[1000000],prime[]={2,3,5,7,9,11,13};
int cati5(int 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(int st,int dr,int p){int 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,100000000,p);
return 0;
}