Cod sursa(job #1730522)

Utilizator StarGold2Emanuel Nrx StarGold2 Data 17 iulie 2016 00:30:38
Problema Cifre Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <cstdio>
#include <ctime>
#include <cstdlib>

const int EPS = 1e6;

int CntDigits( int X, int Y ) {
    int Z = 0;

    while( X != 0 ) {
        Z += ( (X % 10 == Y) ? 1 : 0 );
        X /= 10;
    }

    return Z;
}

void SolveTestCase( void ) {
    int A, B, C, K, Ans = 0;
    scanf( "%d %d %d %d", &A, &B, &C, &K );

    for( int i = 1; i <= EPS; i ++ ) {
        int X = A + rand() % ( B - A + 1 );

        if( CntDigits( X, C ) >= K )
            Ans ++;
    }

    printf( "%.4lf\n", 1.0 * Ans / EPS );
    return;
}

int main( int argc, const char *argv[] ) {
    int T = 1; srand( time(0) );

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

    for( int i = 1; i <= T; i ++ )
        SolveTestCase();

    return 0;
}