Recursions vs Loops
programmers.stackexchange.com