【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;
}    
相关推荐
Jsundoku3 分钟前
第七章 机器学习 -- 其他经典算法
人工智能·算法·机器学习
进击的丸子19 分钟前
基于 ArcFace SDK 的跨平台人脸特征值下发、同步以及存储方案
后端·算法·代码规范
见叶之秋20 分钟前
【C++】红与黑的边界:红黑树从插入到自检
数据结构·c++·算法·面试
kiracrimson1 小时前
string 容器:从 C 字符串到会自己扩容的类
开发语言·数据结构·c++·stl
一条闲鱼_mytube1 小时前
分布式 ID 生成方案:雪花算法与号段模式
分布式·算法·wpf
Msir_Modern1 小时前
Noita 元胞沙盒笔记
算法·unity·c#·游戏引擎·元胞自动机
wyhwust2 小时前
程序设计基础--C语言输入输出单元测试
c语言·开发语言
木井巳2 小时前
【动态规划: 路径问题】不同路径
java·算法·leetcode·动态规划
CQU_JIAKE2 小时前
10.25【A】
数据结构·算法
another heaven3 小时前
【C/C++ C++ 面向对象架构的五大特点与能力场景:封装、继承、多态、抽象与 RAII(含实战案例)】
c语言·c++·架构