Pagini recente » Cod sursa (job #2823252) | Cod sursa (job #342293) | Cod sursa (job #453768) | Cod sursa (job #2419033) | Cod sursa (job #2074387)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin ("fact.in");
ofstream fout ("fact.out");
int n;
unsigned long long P;
unsigned long long p5(unsigned long long x)
{
int nr=0,p=5;
if (x==0) return -5;
while (p<=x)
{
nr=nr+x/p;
p=p*5;
}
return nr;
}
unsigned long long bin_search(unsigned long long p,unsigned long long u)
{
unsigned long long m,fct;
if (p>u)
return 0;
else
{
m=(p+u)/2;
fct=p5(m);
if (fct==P&&p5(m-1)<P)
return m;
else if (fct>=P)
return bin_search(p,m-1);
else return bin_search(m+1,u);
}
}
int main()
{
fin>>P;
if (P==0) fout<<"0";
else fout<<bin_search(1,1000000000);
fin.close();
fout.close();
return 0;
}