Pagini recente » Cod sursa (job #2965194) | Cod sursa (job #1970559) | Cod sursa (job #748373) | Cod sursa (job #2345553) | Cod sursa (job #901194)
Cod sursa(job #901194)
#include<fstream>
#include<iostream>
using namespace std;
long int n,p;
ifstream f("fact.in");
ofstream g("fact.out");
long int nrzero(long int x)
{long int n2=0,n5=0,p2=0,p5=0;
if(x<5)return 0;
for(int i=2;i<=x;i+=2){p2=i;while(p2%2==0){n2++;p2=p2/2;}}
for(int i=5;i<=x;i+=5){p5=i;while(p5%5==0){n5++;p5=p5/5;}}
if(n2<n5)return n2;
else return n5;
}
long int versol(long int ls,long int ld)
{
while(ls<ld){long int m=(ld+ls)/2;cout<<m<<endl;if(nrzero(ls)==p)return ls;
if(nrzero(m)<p)return versol(m,ld);
else return versol(ls+1,m);}
}
int main()
{f>>p;
g<<versol(1,500000);
f.close();
g.close();
return 0;}