如何用C语言计算n的阶乘?_我们用_阶乘这个概念是由基斯顿・卡曼在1808年提出的

如何用C语言计算n的阶乘?

一、循环方法

计算n的阶乘,我们可以用循环来搞定,主要有两种循环方式:while循环和for循环。

1、while语句循环实现

首先,我们用while循环来计算阶乘。

代码 结果
```c int factorial(int n) { int result = 1; while (n > 1) { result = n; n--; } return result; } ``` 返回n的阶乘结果

2、for语句实现

当然,我们也可以用for循环来写这个计算过程。

代码 结果
```c int factorial(int n) { int result = 1; for (int i = 2; i <= n; i++) { result = i; } return result; } ``` 返回n的阶乘结果

二、递归方法

除了循环,我们还可以用递归来实现阶乘的计算。

1、写法一

这是递归方法的一种简单写法。

代码 结果
```c int factorial(int n) { if (n == 0) { return 1; } else { return n factorial(n - 1); } } ``` 返回n的阶乘结果

2、写法二

另一种递归写法,同样可以达到计算阶乘的目的。

代码 结果
```c int factorial(int n) { return (n > 1) ? n factorial(n - 1) : 1; } ``` 返回n的阶乘结果

延伸阅读

什么是阶乘?

阶乘这个概念是由基斯顿・卡曼在1808年提出的。简单来说,就是一个正整数的阶乘是所有小于等于这个数的正整数的乘积。用数学符号表示,就是n的阶乘写作n!。比如,5的阶乘就是1×2×3×4×5,也就是120。0的阶乘被定义为1。阶乘的递归定义是:0!=1,n!=(n-1)!×n。