Pagini recente » Cod sursa (job #3039519) | Cod sursa (job #52386) | Cod sursa (job #3039521) | Cod sursa (job #196517) | Cod sursa (job #789205)
Cod sursa(job #789205)
#include <cstdio>
#include <cstdlib>
#include <cmath>
#include <ctime>
using namespace std;
#define maxRand 1000000
int A, B, C, K;
int CifreC(int N)
{
int cnt = 0;
while(N)
{
if(N % 10 == C) cnt ++;
N /= 10;
}
return (cnt >= K);
}
int main()
{
freopen("cifre.in", "r", stdin);
freopen("cifre.out", "w", stdout);
int i;
scanf("%i %i %i %i", &A, &B, &C, &K);
if(B - A <= maxRand)
{
int ans = 0;
for(i = A; i <= B; i++)
if(CifreC(i))
ans ++;
printf("%.4lf\n", 1.0 * ans / (B - A + 1));
}else
{
srand(time(0));
int ans = 0;
for(i = 0; i < maxRand; i++)
{
int val = (rand() % (B - A + 1)) + A;
if(CifreC(val))
ans ++;
}
printf("%.4lf\n", 1.0 * ans / maxRand);
}
return 0;
}