【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;
}    
相关推荐
小欣加油30 分钟前
leetcode 1863 找出所有子集的异或总和再求和
c++·算法·leetcode·职场和发展·深度优先
C++chaofan33 分钟前
项目中为AI添加对话记忆
java·数据结构·人工智能·redis·缓存·个人开发·caffeine
十八岁讨厌编程33 分钟前
【算法训练营Day27】动态规划part3
算法·动态规划
迎風吹頭髮2 小时前
UNIX下C语言编程与实践14-UNIX 文件系统格式化:磁盘分区与文件系统创建原理
运维·c语言·unix
炬火初现2 小时前
Hot100-哈希,双指针
算法·哈希算法·散列表
weixin_307779132 小时前
利用复变函数方法计算常见函数的傅里叶变换
算法
Murphy_lx3 小时前
Linux(操作系统)文件系统--对打开文件的管理
linux·c语言·数据库
共享家95273 小时前
LeetCode热题100(1-7)
算法·leetcode·职场和发展
失散134 小时前
软件设计师——03 数据结构(下)
数据结构·软考·图论·软件设计师
新学笺4 小时前
数据结构与算法 —— Java单链表从“0”到“1”
算法