Pagini recente » Cod sursa (job #2806901) | Cod sursa (job #2187609) | Cod sursa (job #2698152) | Cod sursa (job #2245394) | Cod sursa (job #667241)
Cod sursa(job #667241)
#include <cstdio>
#include <time.h>
#include <algorithm>
using namespace std;
int fav;
int a,b,c,k;
void citire()
{
freopen("cifre.in", "r", stdin);
scanf("%d %d %d %d", &a, &b, &c, &k);
fclose(stdin);
}
bool verif(int number)
{
int contor = 0;
while(number)
{
if(number % 10 == c)
{
contor++;
}
number /= 10;
}
return contor >= k;
}
double solve()
{
srand(time(NULL));
int tries = 1200000;
int number;
if(b - a <= 1200000)
{
for(int i = a; i <= b; i++)
{
if(verif(i))
{
fav++;
}
}
return (double)((double)fav/(double)(b - a + 1));
}
else
{
while(tries)
{
number = a + rand() % (b - a + 1);
if(verif(number))
{
fav++;
}
tries--;
}
return (double)((double)fav/(double)(1200000));
}
}
void afisare()
{
freopen("cifre.out", "w", stdout);
printf("%.4lf", solve());
fclose(stdout);
}
int main()
{
citire();
afisare();
return 0;
}