Pagini recente » Cod sursa (job #2158556) | Cod sursa (job #702747) | Cod sursa (job #2580387) | Cod sursa (job #348134) | Cod sursa (job #1411629)
#include<iostream>
#include<fstream>
using namespace std;
int p,n,nrzero,st,dr,poz,m;
int nrzfact(int x) {
int i,nr,p5=0;
for (i=5; i<=x; i=i+5){
nr=i;
while (nr%5==0) {
p5++;
nr=nr/5;
}
}
return p5;
}
int main(){
ifstream f("fact.in");
ofstream g("fact.out");
f>>p;
if (p==0) { g<<"1"; return 0; }
st=0;
dr=500000000;
poz=-1;
while (poz==-1 && st<=dr) {
m=(st+dr)/2;
nrzero=nrzfact(m);
//cout<<"m="<<m<<" nrzero="<<nrzero<<'\n';
if (nrzero==p) poz=m;
else if (p<nrzero) dr=m-5;
else st=m+5;
}
g<<poz/5*5<<'\n';
f.close();
g.close();
return 0;
}