Muh*_*man 2 performance r vectorization
背景:斐波那契数字是一系列数字,其中每个数字(斐波那契数字)是前面两个数字的总和。一个简单的例子是:1、1、2、3、5、8等。
我试图了解如何检测矢量是否包含斐波那契数。是否可以通过向量化操作来完成此操作(我的意思是不使用循环)?
第一元件之后,在斐波纳契数列的元素之间的差异应该是序列。因此,一个简单的解决方案是
F1 = c(2,5,7,12,19,31)
F2 = c(2,5,7,12,18,31)
all(diff(F1)[-1] == head(F1, -2))
[1] TRUE
all(diff(F2)[-1] == head(F2, -2))
[1] FALSE
Run Code Online (Sandbox Code Playgroud)