兔子数列python代码实现
时间: 2024-10-08 21:04:56 浏览: 121
兔子数列,也称为斐波那契数列的一个变种,它的规则是每一步繁殖,第一对兔子总是保持不变,而第二对兔子会在下一次繁殖时产生一对新的兔子。这个过程可以用Python编写成一个简单的递归函数或迭代的方式来实现。这里提供两种常见的方式:
**1. 递归实现:**
```python
def rabbit_sequence(n):
if n <= 0:
return []
elif n == 1:
return [1]
else:
prev_sequence = rabbit_sequence(n - 1)
return [1] + [1] * (len(prev_sequence) - 1) + prev_sequence
# 示例
n = 5
sequence = rabbit_sequence(n)
print(f"第{n}代兔子数量: {sequence}")
```
**2. 迭代实现(使用列表推导式):**
```python
def rabbit_sequence_iterative(n):
sequence = [0, 1]
for _ in range(2, n):
sequence.append(sequence[-1] + sequence[-2])
return sequence
# 示例
n = 5
sequence = rabbit_sequence_iterative(n)
print(f"第{n}代兔子数量: {sequence}")
```
这两种方式都可以生成兔子数列,但注意递归版本对于大的`n`值可能会有性能问题,因为会有很多重复计算。
阅读全文