Иван обнови решението на 10.10.2014 03:00 (преди около 10 години)
Добро решение. Лесно се чете и е с линейна сложност. Въпреки това имам няколко забележки:
Функциите
fibonacci
иlucas
са почти идентични, опитай се да изведеш общия код в отделна функция.При функциите
fibonacci
иlucas
ще бъде по-ясно какво се случва, ако началните ти стойности са началните стойности от математическите редици.Разгледай
case
конструкцията.Whitespace-a при запетаите на двойното присвояване не е добре.
Няма нужда да пишеш
return
в края на функциите. Функциите винаги връщат последния остойностен израз.Скобите около
number
на 15-ти ред са излишни. Бъди консистентен :).
Съгласен съм с всичко :). Само не знам дали има итерактивен подход, при който да се започне с началните стойности от математическите редици? Грешка ли е, ако оставя началните стойности да са тези, с които съм работил сега?
Има :).
Не е грешка, ако са такива началните стойности, просто е хубаво кодът да е максимално изразителен и ясен. При теб е така, но и задачата е лека. Ще ти дам hint :
Помисли над number.times
. Например 0.times { ... }
няма да изпълни блока.