【PTA数据结构 | C语言版】阶乘的递归实现

本专栏持续输出数据结构题目集,欢迎订阅。

文章目录

题目

请编写程序,求给定非负整数 n 的阶乘。建议用递归方式计算。

输入格式:

输入在一行中给出一个非负整数 n(≤10)。

输出格式:

在一行中输出 n!。

输入样例:

5

输出样例:

120

代码

cpp 复制代码
#include <stdio.h>

// 递归计算阶乘
int factorial(int n) {
    if (n == 0 || n == 1) {
        return 1;  // 递归终止条件:0! 和 1! 等于 1
    } else {
        return n * factorial(n - 1);  // 递归步骤
    }
}

int main() {
    int n;
    scanf("%d", &n);
        
    // 计算阶乘并输出结果
    printf("%d\n", factorial(n));
    
    return 0;
}    
相关推荐
遇见尚硅谷6 小时前
C语言:20250712笔记
c语言·开发语言·数据结构
☞下凡☜6 小时前
C语言(20250711)
linux·c语言·开发语言
404未精通的狗6 小时前
(数据结构)复杂度
数据结构
二进制person6 小时前
数据结构--准备知识
java·开发语言·数据结构
地平线开发者6 小时前
理想汽车智驾方案介绍专题 1 端到端+VLM 方案介绍
算法·自动驾驶
地平线开发者6 小时前
征程 6 | UCP 任务优先级/抢占简介与实操
算法·自动驾驶
xiaofann_6 小时前
【数据结构】双向链表
数据结构·链表
杰克尼7 小时前
912. 排序数组
算法
仟濹7 小时前
【数据结构】栈与链表的区别
数据结构·链表
jndingxin7 小时前
OpenCV直线段检测算法类cv::line_descriptor::LSDDetector
人工智能·opencv·算法