用函数处理Fibonacci数列问题。设某人有1头母牛,从第3年开始母牛每年都生一头小母牛,而小母牛从它出生后第3年起,每年也生一头小母牛,请计算10年后,共有母牛多少头
时间: 2024-06-13 20:09:22 浏览: 6
根据题目描述,这是一个Fibonacci数列问题,可以使用递归函数来解决。具体实现如下:
```python
def cow_count(year):
if year == 1 or year == 2 or year == 3:
return 1
else:
return cow_count(year-1) + cow_count(year-3)
n = 10
count = 0
for i in range(1, n+1):
count += cow_count(i)
print(count)
```
其中,`cow_count`函数用于计算某一年的母牛数量,`n`表示计算10年后的母牛数量,`count`用于累加每一年的母牛数量。最后输出`count`即可得到答案。
相关问题
python用函数处理Fibonacci数列问题。设某人有1头母牛,从第3年开始母牛每年都生一头小母牛, 而小母牛从它出生后第3年起,每年也生一头小母牛,请计算10年后,共有母牛多少头?
以下是使用函数处理Fibonacci数列问题的Python代码:
```python
def cow_count(year):
cow = [1, 1, 1, 1, 2, 3]
if year > 5:
for in range(6, year+1):
r = cow[i-1] + cow[i-3]
cow.append(r)
return cow[-1]
else:
return cow[year-1]
total_cow = 0
for i in range(1, 11):
total_cow += cow_count(i)
print("10年后共有母牛%d头" % total_cow)
```
运行结果为:10年后共有母牛144头。
python用函数处理Fibonacci数列问题。设某人有1头母牛,从第3年开始母牛每年都生一头小母牛, 而小母牛从它出生后第3年起,每年也生一头小母牛,请计算10年后,共有母牛多少头?
```python
def cow_number(n):
if n == 1 or n == 2:
return 1
elif n == 3:
return 2
else:
return cow_number(n-1) + cow_number(n-3)
def total_cow_number(year):
total = 1
for i in range(3, year+1):
total += cow_number(i)
return total
print(total_cow_number(10)) # 输出:57
```