R语言。。。求解释code

> Fib1 <-1
> Fib2 <-1
> Fibonacci <- c (Fib1,Fib2)
>while ( Fib2<300) {
+ Fibonacci <- c (Fibonacci, Fib2)
+ oldFib2 <- Fib2
+ Fib2 <- Fib1 + Fib2
+ Fib1 <- oldFib2
+}
Q1,能详细解释下while里那4行吗,流程是怎样的。
Q2, oldFib2也不是那么需要的,如何根据目前Fib1和Fib2的值用更新Fib1来写这code?
Q3, 事实上,Fib1 和Fib2也不是必要的,如何只用Fibonacci这个变量来重写这code?

Q1

    将Fib2加到Fibonacci 里

    存Fib2

    算新的Fib2

    把Fib1变成循环刚开始的Fib2


Q2.

while (Fib1+Fib2 < 300) {
    Fibonacci <- c(Fibonacci, Fib1+Fib2)
    Fib1 = Fib2
}

Q3

Fibonacci <- c(1,1)
while (tail(Fibonacci, n=1) < 300) {
    Fibonacci <- c(Fibonacci, sum(tail(Fibonacci, n=2)))
}

追问

Q3那个,tail那个做什么的,能解释下那2行吗。

追答

tail 是从一个数组里取出最后的n个数,所以while里面是取出最后一个,sum(tail(Fibonacci, n=2))是最后两个数之和

温馨提示:答案为网友推荐,仅供参考
相似回答
大家正在搜