python递归求阶乘和
一些基本概念介绍:
阶乘:是指从1到n的连续自然数相乘的积。负数没有阶乘。
递归:函数作为一种代码封装,除了被其他程序正常调用外,还可以被函数内部代码调用。函数定义中调用函数自身的方式称为递归。
递归实现的两个关键点:
(1)存在一个或多个基例,基例不需要再次递归,它是确定的表达式。否则,无限递归将耗尽计算资源!
(2)所有递归链要以一个或多个基例结尾。
python递归求阶乘和的代码实现:
1 # 本程序:根据用户输入的整数n,计算并输出n的阶乘和 2 # 递归实现阶乘 3 def factorial(num): 4 if num == 1:# 给出了num为1时的基例,当num为1时该函数不再递归,返回1(即1的阶乘) 5 return 1 6 else: 7 return num * factorial(num-1)# 递归 8 9 # 递归实现阶乘和。举例,3的阶乘和=3!+2!+1! 10 def facSum(num): 11 if num == 1:# 给出了num为1时的基例,当num为1时该函数不再递归,返回1(即1的阶乘和) 12 return 1 13 else: 14 return factorial(num) + facSum(num-1)# 递归 15 n = eval(input("请输入一个整数: ")) 16 print(facSum(abs(int(n))))
本文来自博客园,作者:onullo,转载请注明原文链接:https://www.cnblogs.com/onullo/p/17708308.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现