用Python做一个类的递归斐波那契数列程序设计
时间: 2024-03-18 15:38:44 浏览: 119
好的,以下是一个使用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。
相关问题
递归斐波那契数列程序设计
好的,以下是使用递归方式实现斐波那契数列的 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
def fibonacci(n):
if n <= 1:
return n
else:
return fibonacci(n-1) + fibonacci(n-2)
# 测试
print(fibonacci(10)) # 输出 55
```
在这个代码中,我们使用了递归来计算斐波那契数列。当我们调用 `fibonacci(n)` 函数时,如果 `n` 小于等于 1,我们就返回 `n`。否则,我们将递归调用 `fibonacci(n-1)` 和 `fibonacci(n-2)` ,并将它们的和作为结果返回。
阅读全文
相关推荐













