【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;
}    
相关推荐
小O的算法实验室5 小时前
IEEE TASE,基于MPC的多无人机协同搜索竞争群体优化方法
算法
小飞学编程...5 小时前
【哈希表】
数据结构·哈希算法·散列表
Tbisnic6 小时前
BGE-M3 算法详解:从模型架构到三种检索方式的数学原理
算法·自然语言处理·大模型·bert·transformer·注意力机制
Brilliantwxx6 小时前
【算法从零到千】【55-58】哈希位图+常见数学运算 接口
算法
空堂与归7 小时前
用户分群找不到规律?用K-Means聚类算法自动发现数据模式
算法·机器学习·kmeans·聚类
动词ing8 小时前
【C语言】自定义函数+指针入门
c语言·开发语言·算法
重生之后端学习8 小时前
283. 移动零[简单]✅
开发语言·数据结构·算法·leetcode·职场和发展
一只小小的芙厨9 小时前
基础数论总结
笔记·学习·算法
动词ing9 小时前
【C语言】结构体+文件基础
c语言·开发语言·数据结构
caimouse9 小时前
ReactOS 窗口系统分析(7):分层窗口与绘制辅助 — layered.c + draw.c
c语言·开发语言