Cod sursa(job #731089)

Utilizator danalex97Dan H Alexandru danalex97 Data 7 aprilie 2012 14:35:49
Problema Cifre Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <cstdio>
#include <ctime>
#include <cstring>
#include <cstdlib>
#include <cassert>
using namespace std;

int main() 
{
	srand(time(0));
	freopen ("cifre.in","r",stdin);
	freopen ("cifre.out","w",stdout);
	
	int a, b, k, c, count = 0, exps, times;
	
	scanf ("%d %d %d %d", &a, &b, &c, &k);
	
	if (b <= 1000000) 
		exps = 710000;
	else 
		exps = 515000;
	
	assert(exps <= RAND_MAX);
	
	times = exps;
	
	while (times--) 
	{
		int x = a + rand()%(b-a+1);
		int cc = 0;
		
		for (; x; x/=10) 
			if (x % 10 == c) 
				cc++;
		
		if (cc >= k) 
			count++;
	}
	
	double ans = (double)count / (double)exps;
	printf("%.4lf", ans);
	return 0;
}