2015-02-20 00:35:01 -05:00
|
|
|
load("distrib");
|
2013-10-27 22:24:23 +00:00
|
|
|
approx_pi(n):= block(
|
|
|
|
|
[x: random_continuous_uniform(0, 1, n),
|
|
|
|
|
y: random_continuous_uniform(0, 1, n),
|
2015-02-20 00:35:01 -05:00
|
|
|
r, cin: 0, listarith: true],
|
2013-10-27 22:24:23 +00:00
|
|
|
r: x^2 + y^2,
|
|
|
|
|
for r0 in r do if r0<1 then cin: cin + 1,
|
|
|
|
|
4*cin/n);
|
|
|
|
|
|
|
|
|
|
float(approx_pi(100));
|