|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- def num_sum(n:int)->int:
- assert(n>=0),'n must be >=0'
- if n==0:
- return 0
- else:
- return n + num_sum(n-1)
- if __name__=='__main__':
- from timeit import Timer
- t=Timer('num_sum(30)','from __main__ import num_sum')
- print('TiME:',t.timeit())
复制代码
为什么这段代码的计算速度这么慢?
https://fishc.com.cn/thread-154150-1-1.html
- from functools import lru_cache
- @lru_cache(maxsize=100)
- def num_sum(n: int) -> int:
- assert (n >= 0), 'n must be >=0'
- if n == 0:
- return 0
- else:
- return n + num_sum(n - 1)
- if __name__ == '__main__':
- from timeit import Timer
- t = Timer('num_sum(30)', 'from __main__ import num_sum')
- print('TiME:', t.timeit())
复制代码
|
|