Cod sursa(job #1810685)

Utilizator CristinaMCristina Mihailescu CristinaM Data 20 noiembrie 2016 14:24:47
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <fstream>

using namespace std;
ifstream in("fact.in");
ofstream out("fact.out");

#define MAX 2000000000

int numarDeZerouri(int nr, int p) {
    int sum = 0, c = 5;
    while(c <= nr) {
        sum += nr/c;
        c = c * 5;
    }
    return sum;
}

int main()
{
    int i = 1, p, cnt = 1, stanga = 1, dreapta = MAX;

    in>>p;

    while(stanga <= dreapta) {
        if(numarDeZerouri((stanga + dreapta)/2, p) < p) {
            stanga = (stanga + dreapta)/2 + 1;
        } else {
                dreapta = (stanga + dreapta)/2 - 1;
        }
    }
    if(numarDeZerouri(stanga, p) == p)
        out<<stanga;
    else out<<"-1";
    return 0;
}