Cod sursa(job #2617970)

Utilizator MarculescuAndreiMarculescu Andrei-Cristian MarculescuAndrei Data 23 mai 2020 13:49:15
Problema Factorial Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <fstream>
#include <iostream>
using namespace std;


int zeroCounter(int x){

    int out=0, p=5;

    while(x/p>0){
        out+=x/p;
        p*=5;
    }
    return out;
}

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

    int k,left,right;

    f >> k;

    if(k==0){ cout<<1; }

    left=5;
    right=5*k;

    while(left < right){

        int mid = (left + right) / 2;
        if(zeroCounter(mid) < k)
            left = mid + 1;
        else
            right = mid;}

    if(zeroCounter(left) == k)
        cout << left;
    else
        cout << -1;

    f.close();
    g.close();
}