Cod sursa(job #1769421)

Utilizator borscalinCalin-Stefan Georgescu borscalin Data 2 octombrie 2016 15:16:29
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.58 kb
#include <cstdio>

using namespace std;

inline long long cnt (int x) {
    long long nr = 0;
    while (x >= 5) {
        nr += x / 5;
        x /= 5;
    }
    return nr;
}

const int NMAX = 1 << 30;

int main() {
    freopen("fact.in","r",stdin);
    freopen("fact.out","w",stdout);
    int i,pas,p;
    scanf("%d",&p);
    pas = 1 << 30;
    i = 0;
    while (pas) {
        if (i + pas <= NMAX && cnt(i + pas) < p)
            i += pas;
        pas /= 2;
    }
    if (cnt(i + 1) == p)
        printf("%d",i + 1);
    else
        printf("-1");
    return 0;
}