递归斐波那契数列程序设计
时间: 2023-07-13 08:41:16 浏览: 83
好的,以下是使用递归方式实现斐波那契数列的 Python 代码:
```python
def fibonacci(n):
if n <= 1:
return n
else:
return fibonacci(n-1) + fibonacci(n-2)
# 测试代码
num = int(input("请输入一个正整数:"))
if num <= 0:
print("输入的数字必须是正整数!")
else:
for i in range(num):
print(fibonacci(i), end=" ")
```
输出结果:
```
请输入一个正整数:10
0 1 1 2 3 5 8 13 21 34
```
代码解释:
- 首先定义一个名为 `fibonacci` 的递归函数,它接收一个整数参数 `n`,表示要计算的斐波那契数列的第 `n` 个数。
- 如果 `n` 小于等于 1,直接返回 `n`。
- 否则,递归调用 `fibonacci(n-1)` 和 `fibonacci(n-2)`,将它们的值相加并返回。
- 在主程序中,读取用户输入的正整数 `num`,然后依次输出 0 到 `num-1` 之间的斐波那契数列。
相关问题
用Python做一个类的递归斐波那契数列程序设计
好的,以下是一个使用Python实现递归斐波那契数列的示例代码:
```python
class Fibonacci:
def __init__(self):
self.memo = {}
def fib(self, n):
if n in self.memo:
return self.memo[n]
if n <= 1:
result = n
else:
result = self.fib(n-1) + self.fib(n-2)
self.memo[n] = result
return result
f = Fibonacci()
print(f.fib(10)) # 输出:55
```
在上面的代码中,我们定义了一个名为Fibonacci的类,该类包含一个名为memo的字典,用于存储计算过的斐波那契数列值以避免重复计算。类中还定义了一个名为fib的方法,该方法接受一个整数n作为参数,并返回斐波那契数列的第n项的值。如果先前已经计算了该值,则从字典中返回该值,否则通过递归计算该值,并将其存储在字典中以备将来使用。
在上面的代码中,我们通过实例化Fibonacci类并调用其fib方法来计算斐波那契数列的第10项。程序输出为55,表示第10项的值为55。
C语言设计程序,递归函数求斐波那契数列
好的,下面是递归函数求斐波那契数列的C语言程序:
```c
#include <stdio.h>
int fibonacci(int n) {
if (n == 0) {
return 0;
} else if (n == 1) {
return 1;
} else {
return fibonacci(n - 1) + fibonacci(n - 2);
}
}
int main() {
int n, i;
printf("请输入要求第几项的斐波那契数列: ");
scanf("%d", &n);
printf("斐波那契数列前%d项为: ", n);
for (i = 0; i < n; i++) {
printf("%d ", fibonacci(i));
}
return 0;
}
```
其中,`fibonacci`函数接收一个整数参数`n`,如果`n`为0或1,则直接返回0或1;否则,返回`fibonacci(n-1)`和`fibonacci(n-2)`的和。在`main`函数中,先输入要求的项数`n`,然后使用循环依次输出斐波那契数列前`n`项。
阅读全文