Cod sursa(job #896143)

Utilizator cosminpintiliecosmin pintilie cosminpintilie Data 27 februarie 2013 14:00:02
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <fstream>

using namespace std;
ifstream f("fact.in");
ofstream g("fact.out");
int p;
long exponent5(int x)
{
    long nr=0,y;
    y=5;
    while(y<=x)
    {
        nr=nr+x/y;
        y=y*5;
    }
    return nr;
}
long cauta(int st, int dr)
{
    int mij,y;
    if(st>dr)
    return 0;
    mij=(st+dr)/2;
    y=exponent5(mij);
    if(p==y)
    return mij;
    if(p<y)
    return cauta (st,mij-1);
    else return cauta(mij+1,dr);
}
int main()
{ int n;
    f>>p;
    if(p==0)
    n=1;

    else
    {
        n=cauta(1,2000000000);
        if(n>0)
        {
            while (n%5!=0)
            n--;
        }
        else n=-1;
    }
    g<<n;

}