递推

这是一个输出阶乘结果的函数

递推的代码更加简洁易读 但占用内存较循环一般更大 要注意结束条件的书写 否则会导致代码报错

#include <stdio.h>

// 递归函数,用于计算阶乘

unsigned long long factorial(unsigned int n) {

if (n == 0) {

// 基本情况:0的阶乘是1

return 1;

} else {

// 递归步骤:n的阶乘是n乘以(n-1)的阶乘

return n * factorial(n - 1);

}

}

int main() {

unsigned int number;

// 提示用户输入一个非负整数

printf("Enter a non-negative integer: ");

scanf("%u", &number);

// 检查输入是否为0或负数

if (number < 0) {

printf("Factorial of a negative number is undefined.\n");

} else {

// 调用递归函数并打印结果

printf("Factorial of %u is %llu.\n", number, factorial(number));

}

return 0;

}

全部评论

相关推荐

零OFFER战士:另一个版本查看图片
点赞 评论 收藏
分享
05-23 19:02
吉林大学 Java
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-07 11:30
仁者伍敌:kpi都懒得刷了属于是
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务