Cod sursa(job #2409231)

Utilizator maria_608Iacob Maria maria_608 Data 18 aprilie 2019 20:04:22
Problema Factorial Scor 100
Compilator cpp-64 Status done
Runda Infoarena's champions Marime 0.6 kb
#include <iostream>
#include <fstream>
using namespace std;

ifstream f("fact.in");
ofstream g("fact.out");

int factorial(long n)
{
    int nr=0;
    for(int i=5; n/i>=1; i=i*5)
        nr=nr+n/i;
    return nr;
}
int main()
{
    long long p, st=1, dr=500000000, n=-1, mij;
    f>>p;

    while(st<=dr)
    {
        mij=(st+dr)/2;
        if(factorial(mij)>p)
            dr=mij-1;
        else if(factorial(mij)<p)
            st=mij+1;
        else
        {
            n=mij;
            dr=mij-1;

        }
    }
    g<<n;

g.close();
f.close();
    return 0;
}