交通死亡事故(1)

去年の交通事故死亡者の数は6352人だったという。
最も少なかった日は何人死亡しただろう。

とりあえず、乱数で10万回(10万年)回してみた。
これでそんなに間違いはないだろう。

p0 = 0.00002
p1 = 0.00023
p2 = 0.00148
p3 = 0.00873
p4 = 0.03603
p5 = 0.11969
p6 = 0.27049
p7 = 0.35388
p8 = 0.18637
p9 = 0.02286
p10 = 0.00022
p11 = 0.00000

平均すると6.57人。



import std.cstream;
import std.random;

const int N = cast(int)1e5;
const int nDay = 365;

void main(char[][] args) {
const int nAllDeath = 6352;
int[20] nMin;
for(int i = 0; i < N; i++)
nMin[getMinDeath(nAllDeath)]++;

for(int i = 0; i < 20; i++)
dout.writefln("p%d = %.5f", i, nMin[i] / cast(double)N);
}

int getMinDeath(int nAllDeath) {
int[nDay] a;
for(int i = 0; i < nAllDeath; i++)
a[rand()%nDay]++;

int min = nAllDeath;
for(int i = 0; i < nDay; i++) {
if(a[i] < min)
min = a[i];
}

return min;
}