Cod sursa(job #813135)

Utilizator sg_ratingStefan Alexandru sg_rating Data 14 noiembrie 2012 22:52:36
Problema Factorial Scor 25
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <cstdio>

long long int get_five_power(long long int n) {
    long long int power = 0;
    for (long long int number = n; number > 1; number /= 5) {
        if (number % 5 != 0) {
            break;
        }
        ++power;
    }
    return power;
}

int main() {
    freopen("fact.in", "r", stdin);
    freopen("fact.out", "w", stdout);
    long long unsigned int p;
    scanf("%llu", &p);
    if (p == 0) {
        printf("1");
        return 0;
    }
    long long unsigned int current_digits = 0;
    long long unsigned int n = 0;
    while (current_digits < p) {
        n += 5;
        current_digits += get_five_power(n);
    }
    if (current_digits == p) {
        printf("%llu", n);
    }
    else {
        printf("-1");
    }
    fclose(stdin);
    fclose(stdout);
    return 0;
}