Cod sursa(job #893913)

Utilizator ionicaion ionica Data 26 februarie 2013 18:44:07
Problema Factorial Scor 85
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <fstream>

using namespace std;

ifstream f("fact.in");
ofstream g("fact.out");
long p;
long exponent5(long x)
{

    long nr=0,y=5;
    while(y<=x)
    {

        nr=nr+x/y;
        y=y*5;
    }
    return nr;

}

long cauta(long st, long dr)
{

    long long mij,nr;
    if(st>dr) return 0;
        mij=(st+dr)/2;
        nr=exponent5(mij);
        if(nr==p)
          return mij;
        else
          if(p<nr)
             return cauta(st,mij-1);
          else
             return cauta(mij+1,dr);

}

int main()
{
    long n;
    f>>p;
    if(p==0)
        n=1;
    else
        n=cauta(1,2000000000);

    while(n%5!=0)
        n--;
    g<<n;
    return 0;
}