Pagini recente » Cod sursa (job #2863394) | Cod sursa (job #3212184) | Cod sursa (job #2762250) | Cod sursa (job #2651273) | Cod sursa (job #717000)
Cod sursa(job #717000)
# include <cstdio>
const char *FIN = "cifre.in", *FOU = "cifre.out" ;
const int MAX = 10000 ;
int A, B, C, K, F, P ;
inline int cf ( int X ) {
int sol = 0 ;
for ( ; X ; X /= 10 ) {
if ( X % 10 == C ) ++sol ;
}
return sol ;
}
int main ( void ) {
fscanf ( fopen ( FIN, "r" ) , "%d %d %d %d", &A, &B, &C, &K ) ;
if ( B - A >= MAX ) {
for ( ; A % MAX ; ++A, ++P ) {
if ( cf ( A ) >= K ) {
++F ;
}
}
for ( int x = 0; B - A >= MAX ; A += MAX, P += MAX ) {
x = cf ( A / MAX ) ;
if ( x >= K ) F += 6561 ;
if ( x >= K - 1 ) F += 2916 ;
if ( x >= K - 2 ) F += 487 ;
if ( x >= K - 3 ) F += 35 ;
if ( x >= K - 4 ) ++F ;
}
}
for ( ; A <= B ; ++A, ++P ) {
if ( cf ( A ) >= K ) {
++F ;
}
}
fprintf ( fopen ( FOU, "w" ), "%.4lf", 1.0 * F / P ) ;
}