Cod sursa(job #2794642)

Utilizator db_123Balaban David db_123 Data 5 noiembrie 2021 11:23:42
Problema Factorial Scor 85
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.64 kb
#include <fstream>

using namespace std;

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

#define ull unsigned long long

int n;

int cateZerouri(int nr){
    int sum=0,putere=5;
    while(putere<=nr){
        sum+=nr/putere;
        putere*=5;
    }
    return sum;
}

int main() {

    cin>>n;

    ull left=0,right=5*100000000,mid=0,sol=0;
    while(left<=right){
        mid=left+(right-left)/2;
        if(cateZerouri(mid)==n){
            sol=mid;
            right=mid-1;
        }
        else if(cateZerouri(mid)>n){
            right=mid-1;
        }
        else{
            left=mid+1;
        }
    }
    cout<<sol;
    return 0;
}