Pagini recente » Cod sursa (job #2290934) | Cod sursa (job #946609) | Cod sursa (job #710723) | Cod sursa (job #245322) | Cod sursa (job #1730524)
#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 );
if( B - A + 1 <= EPS ) {
for( int i = A; i <= B; i ++ ) {
if( CntDigits( i, C ) >= K )
Ans ++;
}
printf( "%.4lf\n", 1.0 * Ans / (B - A + 1) );
} else {
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;
}