Cod sursa(job #2779333)

Utilizator Nitr0genVlad Ioan Nitr0gen Data 3 octombrie 2021 13:47:49
Problema Factorial Scor 95
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.58 kb
#include <bits/stdc++.h>
using namespace std;

ifstream fin("fact.in");
ofstream fout("fact.out");

int f(int n) {
    int ans = 0;
    for(int i = 5; n / i >= 1; i *= 5) {
        ans += n / i;
    }
    return ans;
}

const int NAX = 1000000000;

int main() {
    int p;
    fin >> p;
    int l = 0, r = NAX, m;
    while(l <= r) {
        m = l + (r - l) / 2;
        int a = f(m);
        if(a < p) l = m + 1;
        else if(a > p) r = m - 1;
        else {
            fout << m - m % 5 << '\n';
            return 0;
        }
    }
    fout << -1 << '\n';
}