Cod sursa(job #2577210)

Utilizator lmihaigLicu Mihai lmihaig Data 8 martie 2020 17:53:29
Problema Factorial Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <iostream>
#include <fstream>
using namespace std;

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


long long numar(long long n){
    long long p=5,rasp=0;
    while(p<=n){
        rasp+=n/p;
        p*=5;
    }
    return rasp;
}

int main()
{
    long long p;
    in>>p;
    if(p==0)
        {
        out<<1;
        return 0;
        }
    long long st,dr,mij,sol=0,n;
    st=1,dr=400000016;
   while(st<=dr)
    {
        mij=(st+dr)/2;
        n=numar(mij);
        if(n<p)
        {
            st=mij+1;
        }
        else
        {
            if(n==p)    sol=mij;
            dr=mij-1;
        }
	}
	if(sol==0)
	{
        out<<"-1";
        return 0;
	}
	out<<sol;
}