Cod sursa(job #2794770)

Utilizator db_123Balaban David db_123 Data 5 noiembrie 2021 13:30:48
Problema Factorial Scor 95
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.68 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;
 
    int left=0,right=5*100000000,mid=0,sol=-1;
    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;
}