f333_d666 2022-04-28 22:47 采纳率: 100%
浏览 28
已结题

return j(n - 1) * n 这返回的是什么

#python,求10的阶乘
n=10
def j(n):
if n==1:
return 1
return j(n - 1) * n
print(j(n))

返回的j(n-1)*n是什么意思,我没绕明白,求解救,想知道这个函数是怎么运行的

  • 写回答

4条回答 默认 最新

  • A Python 萌新花花 2022-04-28 22:59
    关注
    1. 递归函数的定义:函数直接或间接的调用函数本身,则称该函数为递归函数。也就是说,如果在一个函数内部,调用自身本身,那么这个函数就称为递归函数。
    2. 计算阶乘的算法就用到了递归函数,func(n)= n * func(n-1)
      就是 j(n)返回的时候返回的是nj(n-1),j(n-1)返回的就是j(n-2)(n-1),然后就这个一直下去,直到n=1的时候,返回1,停止了递归。
      j(n) ---- > j(n-1)n ---- > j(n-2)(n-1)n ---- > j(n-3)(n-2)(n-1)n ---- .... ----->1(n-n+2)...(n-1)n
    3. N! = N(N-1)(N-2)(N-3)...(2)(1) = N(N-1)!
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 10月19日
  • 已采纳回答 10月11日
  • 创建了问题 4月28日

悬赏问题

  • ¥20 校园二手交易小程序搭建
  • ¥15 请问在ubuntu用conda创建环境报错怎么能解决
  • ¥15 STM32CubeMX/proteus按键控制指示灯颜色切换
  • ¥20 python,计算区位熵和扩张指数
  • ¥15 Python环境配置
  • ¥15 大四学生的困惑,有偿提问!
  • ¥15 解决页面无法编入索引:被“noindex”标签排除的问题?
  • ¥15 arduino测量电阻
  • ¥15 快手uid转快手号谁能解决 需要开发
  • ¥15 iis部署Django时css不生效,来个真人,ai不好使