Tuesday April 18th
4/18/17 - A Bit of Rest
Today I learned
- In C++, you can exit a programme gracefully by typing “return(0)”. Since you have int main() and it’s looking for a return int, you can insert it anywhere to exit. Sort of like system.exit or whatever in other programmes.
C++ homework done.
A few snippets of code. I didn’t include another three linked .h files here. Don’t want people to copy, etc.
Also, what my debugger looks like when the programme is run.
Things to get done
-
Look over some code for C++ and submit (hopefully) to my Lab —> done
-
Do some more work on my Programming for Correctness work. I’m currently on Split ranges
-
Get some rest tonight, and be fresh to work on Homework 6 (due 4/23)
A Kata Solved (note: this is in Python) :)
# In this Kata, you have to find the factors of integer
# down to the limit including the limiting number.
# If the limit is more than the integer, return an empty list
def factors(integer, limit):
# make an empty list
arr = []
# if limit exceeds integer, return an empty array
if limit > integer:
return []
# else, find all the factors of the integer
# between the limit and the integer
# push those factors to the empty array
else:
for i in range(limit, integer+1):
if integer % i == 0:
arr.append(i)
return arr
And now, another puzzle
How many balls would you need to assemble a regular tetrahedron, if the edge of the tetrahedron consists of x balls?
Write a function that takes the value and returns the count of balls needed.
The solution is an interesting one, based on a formula called “The Tetrahedral number”
Here is a visualization of the problem
Side top view packed balls
Bottom view of tetrahedron packed The last row is 4 balls long. Total is 20 for all balls counted
Btw I did these models in a 3D product/ architectural modelling programme I learned years ago called Rhino. This software is also used by car designers and people in the movie industry. I learned it from two persons; one of whom was an Art Director (who worked on Avatar and Star Trek) , and the other, who was a car designer (he designed grills for cars) for Honda.
also, check out another favourite site of mine, Math Stack Exchange:
Math Stack Exchange Tetrahedral number
As for the solution, this is in Python, too (sorry) :)
def count_balls(x):
// the formula is :
return x * ((x + 1) * (x + 2)) / 6
Side note
I figured out how to re-write fractions and limits in LaTeX. Here is my code for generating the Tetrahedral formula