Cod sursa(job #901203)

Utilizator DenisONIcBanu Denis Andrei DenisONIc Data 1 martie 2013 08:17:08
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <fstream>
using namespace std;
ifstream f("fact.in");
ofstream g("fact.out");
long p,nr,n;
long nr_5(long x)
{
    long y=5,nrr=0;
    while (y<=x)
    {
        nrr=nrr+x/y;
        y=y*5;
    }
    return nrr;
}
long cauta(long st,long dr)
{
    long mij;

    if (st>dr) return 0;
    else {
    mij=(st+dr)/2;
    nr=nr_5(mij);
    if (nr==p) return mij;
    else
        if (nr>p) return cauta(st,mij-1);
        else return cauta(mij+1,dr);
    }
}
int main()
{
    f>>p;
    if (p==0)
        g<<1;
    else
    {
        n=cauta(1,2000000000);
        if (n!=0)
            while (n%5!=0)
                n--;
        else
            n=-1;
        g<<n;
    }
    return 0;
}