博主信息
--醉后不知天在水,满船清梦压星河

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))))
复制代码

 

posted @   onullo  阅读(408)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示