Cod sursa(job #2001792)

Utilizator stefan_creastaStefan Creasta stefan_creasta Data 17 iulie 2017 18:55:24
Problema Factorial Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <cstdio>
using namespace std;
long long int p5(int x)
{
    long long int p5 = 5, sol = 0;
    while(p5 <= x) {
        sol += x / p5;
        p5 *= 5;
    }
    return sol;
}

int main()
{
    int st = 1, dr = 2000000000, n, mij;
    freopen("fact.in","r",stdin);
    freopen("fact.out","w",stdout);
    scanf("%d", &n);
    if(n == 0) {
        printf("1\n");
    }
    else {
        int last;
        while(st <= dr) {
            mij = (st + dr) / 2;
            long long int val = p5(mij);if(val < n) {
                st = mij + 1;
            }
            else {
                dr = mij - 1;
                last = dr + 1;
            }
        }
        printf("%d\n", last);
    }
    return 0;
}