Cod sursa(job #2670871)

Utilizator Mihaela...Mihaela Zmeu Mihaela... Data 10 noiembrie 2020 20:15:02
Problema Factorial Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.68 kb
#include "bits/stdc++.h"

using namespace std;

long zero ( long a)
{
    long s = 0;
    long b = 5;
    while (a >= b) {
        s += a/b;
        b *= 5;
    }
    return s;
}

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

    long li = 1;
    long ls = 400000015;
    long p;
    cin >> p;
    long n = ls;
    while (zero(n) != p && ls > li + 1) {
        n = (li + ls) / 2;
        if (zero(n) >  p) {
            ls = n;
        }
        if(zero(n) < p) {
            li = n;
        }
    }
    while(zero(n-1) == p && n > 1) {
        n--;
    }
    if(zero(n)==p){cout << n;}
    else cout << -1;
    return 0;
}