Cod sursa(job #2261646)

Utilizator XibronSomai Norbert-Attila Xibron Data 16 octombrie 2018 15:36:11
Problema Factorial Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.77 kb
#include <iostream>
#include <fstream>
#include <climits>

using namespace std;

int teszt(int number)
{
    int nulla=0, i=5;
    while(number/i!=0)
    {
        nulla += number/i;
        i*=5;
    }
    return nulla;
}

int main()
{
    freopen("fact.in", "rt", stdin);
    freopen("fact.out", "wt", stdout);
    int P, e=1, u=INT_MAX, nulla, number;
    cin>>P;
    if(P==0)
    {
        cout<<1;
        return 0;
    }
    while(e!=u)
    {
        number = (e + u) / 2;
        nulla = teszt(number);
        if(nulla > P)
        {
            u = number;
        }
        else
        {
            e = number + 1;
        }
    }
    if(teszt(e-5) != P)
        cout<<-1;
    else
        cout << e - 5;


    return 0;
}