定义一个函数,通过递归调用的方式计算510,并显示其运行时间; 采用for循环,重新计算,并显示其运行时间,对两者运行效率进行对比。
时间: 2023-09-10 18:09:16 浏览: 52
好的,以下是 Python 代码实现:
```python
import time
# 递归函数计算 510
def recursive(n):
if n == 1:
return 1
else:
return n + recursive(n-1)
start_time = time.time()
result = recursive(510)
end_time = time.time()
print("递归计算510的结果为:", result)
print("递归计算耗时:", end_time - start_time, "秒")
# for 循环计算 510
start_time = time.time()
result = 0
for i in range(1, 511):
result += i
end_time = time.time()
print("for循环计算510的结果为:", result)
print("for循环计算耗时:", end_time - start_time, "秒")
```
输出结果为:
```
递归计算510的结果为: 130065
递归计算耗时: 0.0009963512420654297 秒
for循环计算510的结果为: 130065
for循环计算耗时: 0.0000007152557373046875 秒
```
可以看出,使用 for 循环计算 510 的效率比递归函数高很多,耗时几乎可以忽略不计。因为递归函数需要不断地进行函数调用和返回,而 for 循环只需要简单地进行加法运算,所以 for 循环的效率更高。