Pagini recente » Cod sursa (job #457575) | Cod sursa (job #574894) | Cod sursa (job #745354) | Cod sursa (job #1821667)
#include <cstdio>
#include <ctime>
#include <cstdlib>
#define Q 1000111
int c, k;
inline int nr(int x){
short int ans=0;
do{
ans+=(x%10==c);
x/=10;
}while(x);
return ans>=k;
}
int main(){
srand(time(0));
FILE *fin, *fout;
fin=fopen("cifre.in", "r");
fout=fopen("cifre.out", "w");
int a, b;
fscanf(fin, "%d%d%d%d", &a, &b, &c, &k);
double ans;
if(b-a+1<=Q){
int s=0;
for(int i=a; i<=b; i++)
s+=nr(i);
ans=s/(double)(b-a+1);
}else{
int s=0;
for(int i=0; i<Q; i++)
s+=nr(a+rand()%(b-a+1));
ans=s/(double)Q;
}
fprintf(fout, "%.4f\n", ans);
fclose(fin);
fclose(fout);
return 0;
}