Cod sursa(job #2643438)

Utilizator Calin_IftichiIftichi Albert Ioan Calin Calin_Iftichi Data 19 august 2020 20:37:08
Problema Factorial Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.86 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");
int Zerouri(int mij)
{
    int ct = 0;
    int var = 5;
    while(mij / var != 0)
    {
        ct = ct + mij / var;
        var = var * 5;
    }
    return ct;
}
int main()
{
    int n, i, st, dr, mij, P, nr_zerouri;
    fin >> P;
    st = 1;
    dr = 500000000;
    if(P == 0)
    {
        fout << 1;
        return 0;
    }
    int ok = 0;
    while(st <= dr)
    {
        mij = (st + dr) / 2;
        nr_zerouri = Zerouri(mij);
        if(nr_zerouri == P)
        {
            ok = 1;
            break;
        }
        else if(nr_zerouri < P)
            st = mij + 1;
        else
            dr = mij - 1;
    }
    if(ok == 1)
        fout << mij - mij % 5;
    else
        fout << -1;
    return 0;
}