Cod sursa(job #2197235)

Utilizator stefanchistefan chiper stefanchi Data 21 aprilie 2018 14:39:37
Problema Factorial Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <cstdio>

using namespace std;

int numb(int nr)
{
    int num = 0 ;
    int pow = 5;
    while( nr >= pow)
    {
         num += nr/pow;
         pow *=5;
    }
    return num;
}

int findNumber(int pow)
{
    int lf = 1;
    int rg = 5*pow;
    while( lf <= rg)
    {
        int middle = (lf+rg)/2;
        if(numb(middle) < pow )
            lf = middle + 1;
        else
            rg = middle - 1;
    }
    return lf;
}

int main()
{
    int pow;
    freopen("factorial.in","r",stdin);
    freopen("factorial.out","w",stdout);
    scanf("%d ",&pow);
    int rez = findNumber(pow);
    if(numb(rez) == pow)
        printf("%d ",rez);
    else
        printf("-1");
    return 0;
}