【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;
}    
相关推荐
古译汉书20 小时前
嵌入式铁头山羊stm32-SAR型ADC模块介绍、采样时间、转换时间-Day24
c语言·stm32·单片机·嵌入式硬件·iot
C语言小火车21 小时前
【C++八股文】数据结构篇
数据结构·数据库·c++·c++八股文
Boop_wu21 小时前
[数据结构] 链表
数据结构·链表
闪电麦坤9521 小时前
数据结构:图的表示 (Representation of Graphs)
数据结构·算法·图论
利以檀本人(梦泽不忙)1 天前
#T1359. 围成面积
c++·程序人生·算法
胡萝卜3.01 天前
【LeetCode&数据结构】设计循环队列
数据结构·算法·leetcode·队列·循环队列
我不是板神1 天前
秋招|MCU+RTOS技术栈——面试八股文整理3:STM32
c语言
闻缺陷则喜何志丹1 天前
【线段树 懒删除堆】P12372 [蓝桥杯 2022 省 Python B] 最优清零方案|普及+
数据结构·c++·线段树·懒删除堆
闻缺陷则喜何志丹1 天前
【 线段树】P12347 [蓝桥杯 2025 省 A 第二场] 栈与乘积|普及+
数据结构·c++·蓝桥杯·线段树·洛谷
徐归阳1 天前
数组本身的深入解析
数据结构·c++·算法