Решение на Първа задача от Нели Василева

Обратно към всички решения

Към профила на Нели Василева

Резултати

  • 6 точки от тестове
  • 0 бонус точки
  • 6 точки общо
  • 12 успешни тест(а)
  • 0 неуспешни тест(а)

Код

def series(name, index)
return fibonacci_series(index) if name.eql?('fibonacci')
return lucas_series(index) if name.eql?('lucas')
fibonacci_series(index) + lucas_series(index)
end
def fibonacci_series(index)
return 1 if index < 3
fibonacci_series(index - 1) + fibonacci_series(index - 2)
end
def lucas_series(index)
return 2 if index == 1
return 1 if index == 2
lucas_series(index - 1) + lucas_series(index - 2)
end

Лог от изпълнението

............

Finished in 0.02165 seconds
12 examples, 0 failures

История (1 версия и 1 коментар)

Нели обнови решението на 12.10.2014 17:49 (преди около 10 години)

+def series(name, index)
+ return fibonacci_series(index) if name.eql?('fibonacci')
+ return lucas_series(index) if name.eql?('lucas')
+ fibonacci_series(index) + lucas_series(index)
+end
+
+def fibonacci_series(index)
+ return 1 if index < 3
+ fibonacci_series(index - 1) + fibonacci_series(index - 2)
+end
+
+def lucas_series(index)
+ return 2 if index == 1
+ return 1 if index == 2
+ lucas_series(index - 1) + lucas_series(index - 2)
+end
  • Използвай сравненията различни от ==, само когато наистина имаш нужда от семантиката им.
  • Ако ти се занимава можеш да разгледаш case конструкцията и да я пробваш вместо комбинациите от return и if в задачата ти, но и в текущото състояние е добре :).