Cod sursa(job #1513544)

Utilizator mariusn01Marius Nicoli mariusn01 Data 29 octombrie 2015 18:09:10
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <fstream>
using namespace std;

long long n, p, i, st, dr, mid;

int zero(long long n) {
    // cati de 0 are la final n!
    long long p = 5;
    int nr = 0;
    while (p <= n) {
        nr = nr + n/p;
        p = p*5;
    }
    return nr;
}

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

int main () {
    fin>>p;
// cautam binar numarul cu p 0 la final



    st = 1;
    dr = p*5;
    while (st <= dr) {
        int mid = (st + dr)/2;
        if (zero(mid) >= p)
            dr = mid-1;
        else
            st = mid+1;
    }

    if (zero(st) == p)
        fout<<st;
    else
        fout<<-1;
    return 0;
}