Cod sursa(job #2775425)

Utilizator MariusAndrei16Pricope Marius MariusAndrei16 Data 15 septembrie 2021 19:17:23
Problema Factorial Scor 75
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.16 kb
#include <iostream>
#include <fstream>

using namespace std;

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

int P; //numarul intreg

int factorial_zero(int P)
{
    bool iesire = false;
    bool corect = false;
    int zerouri = 0;
    int numar = P * 5;
    if(P == 0)
        return 1;
    else
    {
        while (!iesire && !corect)
        {
            int copie_numar = numar;
            while (copie_numar / 5 != 0 && zerouri <= P)
            {
                zerouri += copie_numar / 5;
                copie_numar /= 5;
            }

            if(zerouri < P)
            {
                iesire = true;
            }
            else if(zerouri == P)
            {
                corect = true;
            }
            else {
                if(numar >= 5)
                {
                    numar -= 5;
                }
                else
                    numar--;
                zerouri = 0;
            }
            
        }
    }

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


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