Първа задача

Предадени решения

Краен срок:
15.10.2014 17:00
Точки:
6

Срокът за предаване на решения е отминал

Ред на Фибоначи наричаме последователност от числа, генерирана от формулата F(n) = F(n-1) + F(n-2). Първите няколко числа от реда са:

F(1) = 1
F(2) = 1
F(3) = 2
F(4) = 3
...

Ред на Лукас наричаме подобна последователност от числа. Тя се генерира от същата формула, но се различава в двете начални стойности:

L(1) = 2
L(2) = 1
L(3) = 3
L(4) = 4
...

В първата задача искаме от вас да дефинирате функцията series. Тя трябва да приема като аргументи името на реда, който искаме да генерираме, като низ, както и индекса на елемента, чиято стойност желаем да получим. Пример:

series('fibonacci', 15)    # => 610
series('lucas', 15)        # => 843

Низовете fibonacci и lucas символизират съответните редове от числа. Ще искаме да можем да подадем на функцията series и специалния низ summed, когато се интересуваме от сумата на двата реда в конкретна позиция n: S(n) = F(n) + L(n).

series('summed', 15)       # => 1453

Ограничения

Очакваме така дефинираната функция series да работи само със сериите fibonacci, lucas и summed. Няма да подаваме грешни серии като първи аргумент и ще тестваме само с положителни цели числа като втори.

Примерен тест

Примерния тест може да намерите примерния тест в хранилището с домашните.

Ограничения

Тази задача има следните ограничения:

  • Най-много 80 символа на ред
  • Най-много 5 реда на метод
  • Най-много 2 нива на влагане

Ако искате да проверите дали задачата ви спазва ограниченията, следвайте инструкциите в описанието на хранилището за домашните.

Няма да приемаме решения, които не спазват ограниченията. Изпълнявайте rubocop редовно, докато пишете кода. Ако смятате, че rubocop греши по някакъв начин, пишете ни на fmi@ruby.bg, заедно с прикачен код или линк към такъв като private gist. Ако пуснете кода си публично (например във форумите), ще смятаме това за преписване.