r - 创建 Padovan 序列的函数
问题描述
我需要编写一个计算Padovan 序列的函数。程序必须允许输入一个表示序列长度的整数。
预期的顺序是:1、1、1、2、2、3、4、5、7、9、12、16、21、28、37、49、65、86、114、151、...
padovan <- function(n){
p <- c(1,1,1)
p <- c(p,p[n-2]+p[n-3])
print(p)
}
padovan(50)
解决方案
这是 padovan_sequence 的一个简单函数
padovan_sequence <- function(n) {
if (n < 1) stop("Please enter a positive number")
p <- c(1, 1, 1)
i = 4
while(i <= n) {
p <- c(p, p[i-2] + p[i-3])
i = i +1
}
p[1:n]
}
padovan_sequence(50)
# [1] 1 1 1 2 2 3 4 5 7 9
#[11] 12 16 21 28 37 49 65 86 114 151
#[21] 200 265 351 465 616 816 1081 1432 1897 2513
#[31] 3329 4410 5842 7739 10252 13581 17991 23833 31572 41824
#[41] 55405 73396 97229 128801 170625 226030 299426 396655 525456 696081
padovan_sequence(1)
#[1] 1
padovan_sequence(2)
#[1] 1 1
padovan_sequence(-2)
#Error in padovan_sequence(-2) : Please enter a positive number
推荐阅读
- jquery - Django 变量形式
- c# - ServiceStack 自动处理
- c# - 应该很简单,但不知何故不是
- apache-kafka - Kafka 生产者无法通过 Internet 连接到代理。如果在本地网络中作为代理运行良好。从 Internet 工作的 Telnet 连接
- python - 计算跨列的值,然后按年分组熊猫
- node.js - ERROR IN NODE 配置中缺少凭证,如果使用 AWS_CONFIG_FILE,请设置 AWS_SDK_LOAD_CONFIG=1
- python - youtube_dl 错误:无法解析 JSON(由 JSONDecodeError('期望值:第 1 行第 1 列(字符 0)')引起)disocrd 错误
- python - 为什么我的变量有这么多引用计数?
- python - Selenium 无法从元素中获取文本
- java - 如何从键盘和文件中读取?