解题思路:
python在运行递归的时候每次取值都会计算一次这样运行速度就十分的缓慢
但是如果我们将结果放到缓存那么就可以大大提高它的运行速度
注意事项:
参考代码:
from functools import lru_cache
@lru_cache(maxsize=1024)
def muliu(num):
if num <= 4:
return num
else:
return muliu(num - 1) + muliu(num - 3)
my_list = []
for i in range(4):
a = input()
a = int(a)
my_list.append(a)
for x in range(len(my_list)):
if my_list[x] == 0:
break
m = muliu(my_list[x])
print(m)
0.0分
6 人评分
三进制小数 (C语言代码)浏览:1026 |
C语言程序设计教程(第三版)课后习题11.12 (C语言代码)浏览:727 |
2^k进制数 (C++代码)使用递归方法浏览:722 |
钟神赛车 (C语言代码)浏览:880 |
【绝对值排序】 (C语言代码)浏览:717 |
校门外的树 (C语言代码)浏览:961 |
C语言程序设计教程(第三版)课后习题9.10 (C语言代码)浏览:557 |
C语言程序设计教程(第三版)课后习题8.8 (C语言代码)浏览:546 |
C二级辅导-等差数列 (C语言代码)浏览:828 |
简单的a+b (C语言代码)浏览:512 |