Pagini recente » Cod sursa (job #2793526) | Cod sursa (job #2530042) | Cod sursa (job #1720694) | Cod sursa (job #156992) | Cod sursa (job #2612021)
#include <iostream>
#include <fstream>
using namespace std;
long nr_0(long x){
long pow = 5, nr = 0;
while(x/pow>0){
nr+=x/pow;
pow*=5;
}
return nr;
}
int caut_binar(int l, int r, int p){
if(l>r) return -1;
int md = (l+r)/2, nr = nr_0(md);
if(nr==p) return md;
if(nr>p) return caut_binar(l, md, p);
return caut_binar(md+1, r, p);
}
int main() {
ifstream fin("fact.in");
ofstream fout("fact.out");
long p;
fin>>p;
if(p==0) fout<<1;
else{
long closest = caut_binar(1, 10*p, p);
while(nr_0(--closest)==p);
fout<<1+closest;
}
return 0;
}