Cod sursa(job #1420153)

Utilizator justaddcodeJustadd Code justaddcode Data 17 aprilie 2015 19:14:16
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.8 kb
# include <cstdio>
# include <algorithm>
# include <cstring>
# define Mv 1000000000
using namespace std;
int n , i, j, st, dr, mij, p ;
int n0 , nr , sol;
int main ( )
{
    freopen( "fact.in", "r", stdin);
    freopen( "fact.out", "w" ,stdout);
    scanf("%d" ,&p);
    st = 1; dr = Mv;
    sol = -1;
    while ( st <= dr )
    {
        mij = ( st + dr )/ 2;
        n0 = 0;
        nr = mij;
        while ( nr )
        {
            n0 += nr / 5;
            nr /= 5;
        }
        if ( n0 == p )
        {
            if (sol != -1)
            sol = min ( sol , mij );
            else sol = mij;
            dr = mij - 1;
            continue ;
        }
        if ( n0 < p ) st = mij + 1;
        else dr = mij - 1;
    }
    printf("%d" , sol );
    return 0;
}