R20;python,def factorial(n):, if n == 0:, return 1, else:, return n * factorial(n-1),
“
问题描述
给定一个正整数n,求n的阶乘,阶乘表示从1乘到n的所有正整数的乘积,即n! = 1 * 2 * 3 * … * n。
递归求解
递归是一种解决问题的方法,它将问题分解为更小的子问题,然后递归地解决这些子问题,直到达到基本情况,对于求阶乘问题,我们可以将n!分解为(n1)! * n,当n=1时,1! = 1。
Python代码实现
def factorial(n): # 基本情况:n=1时,返回1 if n == 1: return 1 # 递归情况:n! = (n1)! * n else: return n * factorial(n 1) 测试代码 n = 5 result = factorial(n) print(f"{n}的阶乘是:{result}")
单元表格
输入 | 输出 | 解释 |
n = 1 | 1 | 基本情况 |
n = 2 | 2 | 2 = 2 * 1 |
n = 3 | 6 | 3 = 2 * 2 * 1 |
n = 4 | 24 | 4 = 3 * 2 * 2 * 1 |
n = 5 | 120 | 5 = 4 * 3 * 2 * 1 |
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论(0)