Pagini recente » Cod sursa (job #1833898) | Cod sursa (job #1461246) | Cod sursa (job #2154741) | Cod sursa (job #3030427) | Cod sursa (job #3204467)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin ("fact.in");
ofstream fout("fact.out");
const int NMAX=5e8;
int lagrange(int x){
int p=5,rez=0;
for(int i=5;i<=x;i*=5){
rez+=x/i;
}
return rez;
}
int cautbin(int nrz){
int st,dr,m,lst,ldr,lm,sol;
st=5;
lst=1;
dr=NMAX;
ldr=lagrange(dr);
sol=NMAX;
while(st<=dr){
m=(st/5+dr/5)/2*5;
lm=lagrange(m);
if(lm==nrz)
return m;
else if(lm>nrz){
sol=m;
dr=m;
ldr=lm;
}else{
st=m;
lst=lm;
}
}
return sol;
}
int n;
int main()
{
fin>>n;
if(n==0)
fout<<1;
else{
fout<<cautbin(n);
}
return 0;
}