Cod sursa(job #3204481)

Utilizator Vlad10Vlad Negut Vlad10 Data 16 februarie 2024 19:29:08
Problema Factorial Scor 90
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin ("fact.in");
ofstream fout("fact.out");
const int NMAX=5e8;
long long lagrange(long long x){
    long long p=5,rez=0;
    for(long long i=5;i<=x;i*=5){
        rez+=x/i;
    }
    return rez;
}
long long cautbin(int nrz){
    long long st,dr,m,lst,ldr,lm,sol;
    st=5;
    dr=NMAX;
    sol=NMAX;
    while(st<=dr){
        m=(st/5+dr/5)/2*5;
        lm=lagrange(m);
        if(lm>=nrz){
            sol=m;
            dr=m-5;
        }else{
            st=m+5;
        }
    }
    return sol;
}
int n;
int main()
{
    fin>>n;
    if(n==0)
        fout<<1;
    else{
        fout<<cautbin(n);
    }
    return 0;
}