Cod sursa(job #571969)

Utilizator rootsroots1 roots Data 4 aprilie 2011 21:56:54
Problema Cifre Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <set>

using namespace std;

set<int> v;
set<int>::iterator it;

int main()
{
	int sol,A,B,C,K,cnt,x,Timp;

	freopen("cifre.in","r",stdin);

	scanf("%d%d%d%d",&A,&B,&C,&K);

	Timp=1000000;

	srand(time(NULL));

	sol=0;
	while(Timp)
	{
		x=A+rand()%(B-A+1);

		it=v.find(x);
		if(it==v.end())
		{
			v.insert(x);

			cnt=0;
			while(x)
			{
				if(x%10==C) cnt++;
				x/=10;
			}

			if(cnt>=K) sol++;
		}

		Timp--;
	}

	freopen("cifre.out","w",stdout);

	printf("%.4f",(double)sol/(B-A+1));

	return 0;
}