Mai intai trebuie sa te autentifici.
Cod sursa(job #731087)
Utilizator | Data | 7 aprilie 2012 14:35:03 | |
---|---|---|---|
Problema | Cifre | Scor | 90 |
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;
}