Agreed. No idea what is being asked
Well, the two possible values are -1 and 11:
-1 - (-1) = 0 = 0 * 12
-1 - (11) = -12 = -1 * 12
In ruby, the result always have the same sign as the second operand (12 in this case) so it must be 11.
The resulting sign when doing modulus between negative numbers varies between different programming languages. There is a table in the right margin here that shows the chaos: http://en.wikipedia.org/wiki/Modulo_operation#Remainder_calculation_for_the_modulo_operation.
I agree that this isn't really solving it, though it is an acceptable solution. Afterall since he gave you the link, it's not hard to realize that there is a method that will perform the task for you. That being said, you get more out of it as a beginner trying to solve it and knowing that there is a shortcut for it.
While the code is compact, I think the chained ternary is hard to read
why does -1 % 12 equal 11?
I also found this useful for anyone newer
This is an example of recursion. The concept is present in many programming languages, and mathematics in general.
The equation for a single fibonacci number is dependent on the two previous fibonacci numbers (for all but n == 1 && n == 2). These are determined by either:
return 0 if n == 1
return 1 if n == 2
For a ruby specific explanation of recursion, check out this StackOverflow Post.
For a more broad, mathematical explanation (including fibonacci numbers) see the wiki article on Recurrence relations.
Can someone explain how this works?
Newer to ruby and don't understand this method with a method call...?
My last test is also failing but the original tie in the original 3 tests is fine