Cod sursa(job #772347)

Utilizator vlase.paulVlase Paul vlase.paul Data 29 iulie 2012 12:09:16
Problema Factorial Scor 0
Compilator c Status done
Runda Arhiva de probleme Marime 0.64 kb
#include <stdio.h>
#include <stdlib.h>

int zeros( int n )
{
    int z = 0;
    while ( (n = n / 5) != 0 ) {
        z += n;
    }

    return z;
}

int main( void )
{
    int P;
    int st, dt, m;

    freopen( "fact.in", "r", stdin );
    freopen( "fact.out", "w", stdout );

    scanf( "%d", &P );

    st = 1;
    dt = 5 * P;

    while ( st <= dt ) {
        m = ( st + dt ) / 5;

        if ( zeros( m ) == P ) {
            printf( "%d", m );
            return EXIT_SUCCESS;
        } else if ( zeros( m ) < P ) {
            st = m + 1;
        } else {
            dt = m - 1;
        }
    }
    printf( "%d", -1 );

    return EXIT_SUCCESS;
}