C 语言阶乘函数实现303


阶乘(factorial)是一个数学运算,表示一个非负整数的所有正整数因子的乘积。对于非零自然数 n,其阶乘表示为 n!,计算公式如下:
```
n! = 1 × 2 × 3 × ... × n
```
例如,5! 的计算为:
```
5! = 1 × 2 × 3 × 4 × 5 = 120
```

在 C 语言中,可以通过递归或迭代的方式实现阶乘函数。下面分别介绍这两种实现方式:

递归实现

递归是一种函数不断调用自身来解决问题的技术。阶乘的递归函数实现如下:
```c
int factorial_recursive(int n) {
if (n == 0) {
return 1;
} else {
return n * factorial_recursive(n - 1);
}
}
```
在这个实现中,递归函数 `factorial_recursive` 调用自身计算 \(n-1\) 的阶乘,然后与 n 相乘。递归过程一直持续到 n 等于 0,此时函数返回 1,因为 0! 的值为 1。

迭代实现

与递归不同,迭代是指使用循环来逐个计算值的方法。阶乘的迭代函数实现如下:
```c
int factorial_iterative(int n) {
int result = 1;
for (int i = 1; i

2024-12-06


上一篇:C 语言中输出 1f 的原因分析

下一篇:C 语言中实现的冒泡排序算法