Cod sursa(job #3328491)

Utilizator ionicaion ionica Data 8 decembrie 2025 22:17:29
Problema Factorial Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.87 kb
#include <fstream>
#include <iostream>

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;
    while(st<=dr)
    {
        mij=(st+dr)/2;
        nr=exponent5(mij);
        if(nr==p)
            return mij;
        else
            if(nr<p)
               st=mij+1;
            else
                dr=mij-1;
    }
    return 0;
}

int main()
{
    long n;
    ///cout<<exponent5(2000000000);
    ///5e8
    f>>p;
    if(p==0)
        n=1;
    else
       {
        n=cauta(1,2000000000);
        if(n==0)
            n=-1;
        else
            while(n%5!=0)
                n--;
       }
    g<<n;
    return 0;
}