Cod sursa(job #3039075)

Utilizator PsyDuck1914Feraru Rares-Serban PsyDuck1914 Data 28 martie 2023 10:03:31
Problema Factorial Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <fstream>
using namespace std;

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

long long n, z;
 
long long zerouri(long long n)
{
    int s=0, d=5;
    while(n/d > 0){
        s += n/d;
        d *= 5;
    }
    return s;
}

int main()
{
    long long sol = -1;
    f >> n;
    if(n==0) 
        g << 1;
    else if(n == 1) 
        g << 5;
    else {
        long long st=1;
        long long dr=500000000;
        while(st<=dr){
            long long mij = ( st + dr )/2;
            z = zerouri(mij);
            if(z > n)
                dr = mij - 1;
            else if(z < n)
                st = mij + 1;
            else{
                sol = mij;
                dr = mij-1;
            }
        }
        g << sol;
    }
    return 0; 
}