TB椰程 TypeBuddy 打字搭子

递归求阶乘

CSP-J · 编程模板 · 代码 · cpp · 难度 2/5 · 共 254 字

n! = n 乘以 (n-1)!,递归的起手式

  • 递归
  • 函数

前置内容

正文

// ── 递归求阶乘:n! = n * (n-1)! ──
// 递归两要素:
// ① 终止条件(出口)
// ② 调用自己且规模变小
long long fact(int n) {
    // 13! 就超 int,必须 long long
    if (n <= 1) return 1;
    // 出口:0! = 1! = 1
    // 没出口会一直压栈 → 栈溢出
    return n * fact(n - 1);
}
// 递归本质是系统帮你压栈
// 层数太深要改写成循环

CSP-J · 编程模板的其它内容

打字首页 · 词库画廊 · 编程打字 · 指法入门 · 天梯榜 · 数据分析 · 班级课堂 · 关于我们
椰程 TypeBuddy 打字搭子 —— 键盘指法练习 · 单词记忆 · 班级课堂 · 在线 PK