recursive solution to problem 16 in ruby