递推

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

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

#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;

}

全部评论

相关推荐

字节 后端 比腾讯高4k
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务