Count the balls off the brass monkey def pyramid_blocks(n, m, h): Mysteries of the pyramids have fascinated humanity through the ages. Instead of packing your machete and pith helmet to trek through deserts and jungles to raid the hidden treasures of the ancients like Indiana Croft, or by gaining visions of enlightenment by intensely meditating under the apex set over a square base like Deepak Veidt, this problem deals with truncated brass monkeys of layers of discrete uniform spheres, in spirit of that spherical cow running in a vacuum. Given that the top layer of the truncated brass monkey consists of n rows and m columns of spheres, and each solid layer immediately below the one above it always contains one more row and one more column, how many spheres in total make up this truncated brass monkey that has h layers? This problem could be solved in a straightforward brute force fashion by mechanistically tallying up the spheres through these layers. However, the fair and just reward for such a blunt approach is that you get to watch the automated tester take roughly a minute to terminate! Some creative use of discrete math and summation formulas gives an analytical closed form formula that makes the answers come out pretty much immediately by plugging the values of n, m and h into that formula. (Seeing that the brass monkey is a discrete pyramidal shape, surely the pyramidal numbers might be of some assistance here in getting started...)
Count the balls off the brass monkey
def pyramid_blocks(n, m, h):
Mysteries of the pyramids have fascinated humanity through the ages. Instead of packing your machete and pith helmet to trek through deserts and jungles to raid the hidden treasures of the ancients like Indiana Croft, or by gaining visions of enlightenment by intensely meditating under the apex set over a square base like Deepak Veidt, this problem deals with truncated brass monkeys of layers of discrete uniform spheres, in spirit of that spherical cow running in a vacuum. Given that the top layer of the truncated brass monkey consists of n rows and m columns of spheres, and each solid layer immediately below the one above it always contains one more row and one more column, how many spheres in total make up this truncated brass monkey that has h layers?
This problem could be solved in a straightforward brute force fashion by mechanistically tallying up the spheres through these layers. However, the fair and just reward for such a blunt approach is that you get to watch the automated tester take roughly a minute to terminate! Some creative use of
discrete math and summation formulas gives an analytical closed form formula that makes the answers come out pretty much immediately by plugging the values of n, m and h into that formula. (Seeing that the brass monkey is a discrete pyramidal shape, surely the pyramidal numbers might
be of some assistance here in getting started...)
n | m | h | Expected result |
2 | 3 | 1 | 6 |
2 | 3 | 10 | 570 |
10 | 11 | 12 | 3212 |
100 | 100 | 100 | 2318350 |
10**6 | 10**6 | 10**6 | 2333331833333500000 |
Trending now
This is a popular solution!
Step by step
Solved in 4 steps with 2 images