跳到主要内容

R语言程序:打印斐波那契序列

在这个示例中,您将学习如何使用while循环打印斐波那契数列。

要理解这个示例,您应该掌握以下R编程的主题:

斐波那契数列是以下整数序列的一部分:

0, 1, 1, 2, 3, 5, 8...

前两项是0和1。所有其他项都是通过将前两项相加而获得的。

这意味着第n项是(n-1)项和(n-2)项的和。

您还可以使用递归函数打印斐波那契数列。了解更多关于如何使用递归打印斐波那契数列的信息。

示例:打印斐波那契数列

# 从用户那里获取输入
nterms = as.integer(readline(prompt="要显示多少项? "))

# 前两项
n1 = 0
n2 = 1
count = 2

# 检查项数是否有效
if (nterms <= 0) {
cat("请输入一个正整数。")
} else if (nterms == 1) {
cat("斐波那契数列:")
cat(n1)
} else {
cat("斐波那契数列:")
cat(n1, ", ", n2, ", ")
while (count < nterms) {
nth = n1 + n2
cat(nth, ", ")
n1 = n2
n2 = nth
count = count + 1
}
}

输出

要显示多少项? 7
[1] "斐波那契数列:"
[1] 0
[1] 1
[1] 1
[1] 2
[1] 3
[1] 5
[1] 8

在这里,我们询问用户数列中有多少项。我们将第一项初始化为0,第二项初始化为1。

如果项数大于2,我们使用while循环来找到数列中的下一项。

在while循环内,我们首先分别打印前两项n1n2。然后,我们通过将最后两项相加来计算下一项nth并打印它。

现在,我们将n1n2的值更新为最后两项,即将n2中的项更新为n1,并将刚计算的项nth更新为n2

这样一直持续下去,直到项数达到用户输入的nterms为止。