Cod sursa(job #274101)

Utilizator EllsolanMircea Iordache Ellsolan Data 9 martie 2009 13:54:42
Problema Factorial Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include <fstream>
#include <cmath>
using namespace std;

long long zero(long long n)
{
    long long i,s=0,x;
    long double a,b;
    a=log10(n);
    b=log10(5);
    x=(int)a/(int)b;
    for (i=1;i<=x;i++)
    s+=n/pow(5.0,(int)i);
    return s;
}
int main()
{
    long long n=0,p,i,j,mid,f;
    bool ok=0;
    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;
        f=zero(mid);
        if (f==p) ok=1;
        else if (f<p) i=mid+1;
        else j=mid-1;
    }
    if (ok) out<<mid;
    else out<<-1;
    return 0;
}