Pagini recente » Cod sursa (job #1757958) | Cod sursa (job #2340264) | Cod sursa (job #2658908) | Cod sursa (job #1649420) | Cod sursa (job #274121)
Cod sursa(job #274121)
#include <fstream>
#include <cmath>
using namespace std;
long double b=log10(5);
long long zero(long long n)
{
long long i,s=0;
long double a,x;
a=log10(n);
x=a/b;
for (i=1;i<=x;i++)
s+=n/pow(5.0,(int)i);
return s;
}
int main()
{
long long p,i,j,mid,f,ok=0,g;
ifstream in ("fact.in");
ofstream out("fact.out");
in>>p;
i=0; j=pow(5.0,10);
while ((i<=j)&&!ok)
{
mid=(i+j)/2;
g=f;
f=zero(mid);
if (f<p) i=mid+1;
else j=mid-1;
if (f!=p&&g==p) ok=1;
}
if (ok) out<<j+1;
else out<<-1;
return 0;
}