Pagini recente » Cod sursa (job #1652006) | Cod sursa (job #2113084) | Cod sursa (job #771678) | Cod sursa (job #619925) | Cod sursa (job #1071916)
#include <cstdio>
#include <cstdlib>
#include <ctime>
using namespace std;
int maxRand=600000,nr,A,B,C,K;;
inline bool Ok(int x)
{
int k=0;
while(x)
{
if(x%10==C)
++k;
x/=10;
}
if(k>=K)
return true;
return false;
}
int main()
{
double sol;
int i,val;
freopen ("cifre.in","r",stdin);
freopen ("cifre.out","w",stdout);
scanf("%d%d%d%d", &A,&B,&C,&K);
if(B-A+1<=maxRand)
{
for(i=A;i<=B;++i)
if(Ok(i))
++nr;
sol=nr/(1.0*(B-A+1));
}
else
{
srand(time(NULL));
while(maxRand--)
{
val=(rand()%(B-A+1)+A);
if(Ok(val))
++nr;
}
sol=nr/600000.0;
}
printf("%.4lf\n", sol);
return 0;
}