Cod sursa(job #3294138)

Utilizator VirnaVirna Roventa Virna Data 16 aprilie 2025 17:51:27
Problema Factorial Scor 90
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <bits/stdc++.h>

using namespace std;
long long p;
void citire()
{
    cin>>p;
}
long long nz(long long n)
{
    long long p2=2,p5=5,s1=0,s2=0;
    while(p2 <= n )
    {
        s1+=n/p2;
        p2*=2;
    }
    while(p5 <= n )
    {
        s2+=n/p5;
        p5*=5;
    }
    return min(s1, s2);

}
void rez()
{
    long long st,dr,ans,mij;
    ans=1;
    st=1;
    dr=1e15;
    while(st<=dr)
    {
        mij=(st+dr)/2;
        if(nz(mij) < p){
            st=mij+1;}
        else if(nz(mij) > p)
            dr=mij-1;
        else
        {
            ans=mij;
            dr=mij-1;
        }
    }
    cout<<ans;
}
int main()
{
    freopen("fact.in", "r", stdin);
    freopen("fact.out", "w", stdout);
    citire();
    rez();
}