This week’s Classic, from Spreck Rosekrans, continues our camping theme. Here are four questions of increasing difficulty about finding sticks in the woods, breaking them and making shapes:
In [48]:
import random
In [54]:
N = 1000000
In [66]:
triangle_count = 0
for _ in range(N):
a,b = sorted((random.random(), random.random()))
x,y,z = (a,b-a,1-b)
if x<0.5 and y<0.5 and z<0.5:
triangle_count += 1
triangle_count / N
Out[66]:
In [67]:
triangle_count = 0
for _ in range(N):
sticks = sorted((random.random(), random.random(), random.random()))
if sticks[2] < sticks[0] + sticks[1]:
triangle_count += 1
triangle_count / N
Out[67]:
In [68]:
triangle_count = 0
for _ in range(N):
a,b = sorted((random.random(), random.random()))
x,y,z = (a,b-a,1-b)
if (x**2 + y**2 > z**2) and (x**2 + z**2 > y**2) and (z**2 + y**2 > x**2):
triangle_count += 1
triangle_count / N
Out[68]:
In [69]:
triangle_count = 0
for _ in range(N):
x,y,z = (random.random(), random.random(), random.random())
if (x**2 + y**2 > z**2) and (x**2 + z**2 > y**2) and (z**2 + y**2 > x**2):
triangle_count += 1
triangle_count / N
Out[69]:
In [ ]: