#r
#r
Вопрос:
Я должен создать функцию ans (k), которая может возвращать вектор с каждым числом Фибоначчи, меньшим или равным k. Я знаю основы циклов, но я не в состоянии понять логику. Может кто-нибудь, пожалуйста, объяснить с кратким описанием, как я могу решить вышеуказанную проблему. То, что я попробовал, это:
сначала я создал вектор
k<-c(1, 1)
Затем, как обычно, для создания функции я использовал:
ans <- function(k) {
for(i in k){
затем повторно модифицировал вектор k как:
k=c(k, k[i-1] k[i-2])
}
return(k)
}
где я ошибаюсь? Пожалуйста, помогите.
Ответ №1:
ans <- function(n) {
k<-c(1, 1)
for(i in 3:n){
k=c(k,k[i-1] k[i-2])
}
return(k)
}
ans(5)
- Вы не можете использовать дважды
k
как и index и как хранилище вашей серии fibonnaci! - Ваша серия начинается с 3, потому что две первые — это 1 и 1
- С другой стороны, лучше хранить его
k
внутриans
функции из-за области видимости и ясности!