Pagini recente » Cod sursa (job #1558433) | Cod sursa (job #2047394) | Cod sursa (job #2472461) | Cod sursa (job #2809429) | Cod sursa (job #1662528)
#include <iostream>
#include <fstream>
#define MAXVAL 100000000000000000
using namespace std;
long long p,n;
ifstream f("fact.in");
ofstream g("fact.out");
long long nrzero(long long n){
long long p5,nr0;
p5=5;nr0=0;
while(p5<=n && nr0 <= p){
nr0+=n/p5;
p5=p5*5;
}
return nr0;
}
long long bs(long long l, long long r){
long long m,nr;
while(l < r){
m = l + (r - l)/2;
nr = nrzero(m);
if(nr == p) r = m;
else
if(nr > p) r = m - 1;
else l = m + 1;
}
nr = nrzero(l);
if(nr > p) l--;
nr = nrzero(l);
if(nr == p) return l;
return -1;
}
int main()
{
f>>p;
g<<bs(1,MAXVAL);
return 0;
}