Pagini recente » Cod sursa (job #882772) | Cod sursa (job #1223703) | Cod sursa (job #1078829) | Cod sursa (job #1817370) | Cod sursa (job #1470216)
#include <cstdio>
#include <algorithm>
#include <cstring>
#include <ctime>
#include <cstdlib>
#define Dmax 1000000
using namespace std;
int n, i, j, k, c, a, b, sol;
void sol1();
void sol2();
int nrd(int x)
{
int nr = 0;
do
{
nr += ((x % 10) == c);
x /= 10;
}while (x);
return nr;
}
void read()
{
freopen("cifre.in", "r", stdin);
scanf("%d %d %d %d", &a, &b, &c, &k);
if (b - a < Dmax)
sol1();
else sol2();
}
void sol1()
{
for (i = a; i <= b; ++ i)
if (nrd(i) >= k)
++ sol;
}
void sol2()
{
srand(time(NULL));
for(i = 0; i < Dmax; ++ i)
if (nrd(rand() % (b - a + 1) + a) >= k)
++ sol;
}
void write()
{
freopen("cifre.out", "w", stdout);
if (b - a < Dmax)
printf("%.4lf", 1.0 * sol / (b - a + 1));
else
printf("%.4lf", 1.0 * sol / Dmax);
}
int main()
{
read();
write();
return 0;
}