Веселин обнови решението на 08.10.2014 23:36 (преди около 10 години)
+def series(type, position)
+ if(type == "fibonacci") then fibonacci(position)
+ elsif(type == "lucas") then lucas(position)
+ else fibonacci(position) + lucas(position)
+ end
+end
+
+def fibonacci(position)
+ position <= 2 ? 1 : fibonacci(position-1) + fibonacci(position-2)
+end
+
+def lucas(position)
+ if(position == 1) then 2
+ elsif(position == 2) then 1
+ else lucas(position-1) + lucas(position-2)
+ end
+end
Като цяло решението е добро.
- Имаш малко проблеми, главно с whitespaces, които можеш да адресираш като прочетеш style guide-ът.
- Опционално можеш да разгледаш и
case
(switch
-ът в Ruby), но и сif
решение е напълно наред. - fibonacci и lucas са имена на серии, а не типове, което беше наша грешка в условието, поправихме се.