设计一个求乘方的递归函数,在主函数中输入一个小于10的正整数n,调用求乘方的函数,求2的1次方到2的n次方的累加和。
时间: 2023-06-15 16:03:01 浏览: 78
递归程序设计_求N阶乘.doc
5星 · 资源好评率100%
下面是求乘方的递归函数和主函数的代码实现:
```python
def power(base, exponent):
if exponent == 0:
return 1
else:
return base * power(base, exponent - 1)
n = int(input("请输入一个小于10的正整数n:"))
sum = 0
for i in range(1, n+1):
sum += power(2, i)
print("2的1次方到2的{n}次方的累加和为:{sum}".format(n=n, sum=sum))
```
在这个代码中,我们定义了一个求乘方的递归函数 `power`,它的参数是底数 `base` 和指数 `exponent`。如果指数为0,则返回1;否则,返回 `base` 乘以 `power(base, exponent - 1)` 的结果。
在主函数中,我们首先输入一个小于10的正整数n,然后计算2的1次方到2的n次方的累加和。具体实现是:使用一个循环从1到n,每次调用 `power(2, i)` 求出2的i次方,然后将所有的结果相加,最后输出结果。
例如,当输入n为3时,程序会输出:
```
请输入一个小于10的正整数n:3
2的1次方到2的3次方的累加和为:14
```
这是因为,2的1次方到2的3次方的累加和为2^1 + 2^2 + 2^3 = 2 + 4 + 8 = 14。
阅读全文