编程实现:定义一个递归函数fun,计算1到n之积(n<=20)。要求如下: (1)主函数的功能是输入n的值,调用fun函数得到1-n之积,最后输出结果; (2)fun()函数定义的位置位于主函数后面; (3)fun()函数必须是递归函数。 (4)若输入的数大于20,则重新输入。
时间: 2023-11-27 19:53:03 浏览: 46
C通过运行时堆栈支持递归函数的实现。递归函数就是直接或间接调用自身的函数。
以下是实现代码:
```python
def fun(n):
if n == 1:
return 1
else:
return n * fun(n-1)
while True:
n = int(input("请输入一个整数n(n<=20):"))
if n <= 20:
result = fun(n)
print("1到{}的乘积为:{}".format(n, result))
break
else:
print("输入的数太大,请重新输入!")
```
首先定义一个递归函数`fun`,用于计算从1到n的乘积。当n等于1时,函数返回1;否则,函数返回n与`fun(n-1)`的乘积。
在主函数中,使用`while`循环来持续输入n,若n小于等于20,则调用`fun`函数计算1到n的乘积,并输出结果;否则,提示用户重新输入。
注意:在Python中,递归函数的层数有限制,若n过大可能会导致RecursionError异常。
阅读全文