Cod sursa(job #2774926)

Utilizator MariusAndrei16Pricope Marius MariusAndrei16 Data 13 septembrie 2021 16:21:02
Problema Factorial Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.09 kb
#include <iostream>
#include <fstream>

using namespace std;

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

int P; //numarul intreg

int cinci_elemente(int numar)
{
    int cinci = 0;
    while (numar % 5 == 0 && numar != 0)
    {
        numar/= 5;
        cinci++;
    }
    return cinci;
}

int factorial_zero(int P)
{
    int zerouri = 0;
    int numar = 1;
    int div_par = 0;
    int div_zece = 0;
    int div_cinci = 0;
    bool iesire = false;
    bool corect = false;

    while (!iesire && !corect)
    {
        if(numar % 10 == 0)
            div_zece++;
        else if(numar % 5 == 0) {
            div_cinci += cinci_elemente(numar);
        }

        zerouri = div_zece + div_cinci;

        if(zerouri > P)
        {
            iesire = true;
        }
        else if(zerouri == P)
        {
            corect = true;
        }
        else
            numar++;
        
    }

    if(iesire == true)
        return -1;
    else
        return numar;  
}


int main()
{
    in >> P;
    out << factorial_zero(P);
    return 0;
}