Cod sursa(job #772353)

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

int zeros( int n )
{
    int z = 0;
    do {
        printf( "n = %d\n", n );
        n = n / 5;
        z += n;
    } while( n != 0 );

    return z;
}

int main( void )
{
    int P, z;
    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 ) / 2;

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

    return EXIT_SUCCESS;
}