Cod sursa(job #2815775)

Utilizator divadddDavid Curca divaddd Data 10 decembrie 2021 11:49:21
Problema Factorial Scor 50
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <iostream>
#include <fstream>
using namespace std;
long long p;

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

int nrDeZero(long long n){
    long long s = 0;
    long long p = 5;
    while(p <= n){
        s += n/p;
        p *= 5;
    }
    return s;
}

int cautare(long long x){
    long long st = 1;
    long long dr = 100000002;
    int poz = 0;
    while(st <= dr){
        long long mid = (st+dr)/2;
        long long val = nrDeZero(mid);
        if(val >= x){
            dr = mid-1;
            poz = mid;
        }else{
            st = mid+1;
        }
    }
    return poz;
}

int main()
{
    fin >> p;
    fout << cautare(p) << "\n";
    return 0;
}