Cod sursa(job #2339)

Utilizator TYTUSVlad Saveluc TYTUS Data 17 decembrie 2006 07:03:13
Problema Cifre Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <cstdio>
#include <ctime>
#include <cstring>
#include <cstdlib>
using namespace std;

int main() {
	srand(time(0));
	FILE *fin = fopen ("cifre.in", "r");
	FILE *fout = fopen ("cifre.out", "w");
	int a, b, k, c, count = 0, exps, times;
	fscanf (fin, "%d %d %d %d", &a, &b, &c, &k);
	if (b <= 1000000) {
		exps = 700000;
	} else {
		exps = 515000;
	}
	times = exps;
	while (times--) {
		register int x = a + rand()%(b-a+1);
		int cc = 0;
	/*	l = strlen(s);
		for (i = 0; i < l; ++i) {
			if (s[i] - '0' == c) {
				cc++;
			}
		}*/
		
		
		for (; x; x/=10) {
			if (x % 10 == c) {
				cc++;
			}
		}
		if (cc >= k) {
			count++;
// 			printf ("%d\n", copy);
		}
	}
	double ans = (double)count / (double)exps;
	fprintf (fout, "%.4lf", ans);
	fclose(fout);
	return 0;
}