n的阶乘函数可以通过多种编程语言实现,以下是几种常见编程语言的实现方法:
Python
```python
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n-1)
```
C++
```cpp
include using namespace std; int factorial(int n) { if (n == 0) { return 1; } else { return n * factorial(n-1); } } int main() { int n; cout << "请输入一个非负整数n: "; cin >> n; cout<< n << "的阶乘为: " << factorial(n) << endl; return 0; } ``` Java ```java public class Factorial { public static long factorial(int n) { if (n == 0) { return 1; } else { return n * factorial(n-1); } } public static void main(String[] args) { int n = 5; // 可以修改这个值来计算不同数的阶乘 System.out.println(n + "! = " + factorial(n)); } } ``` JavaScript ```javascript function factorial(n) { if (n === 0) { return 1; } else { return n * factorial(n-1); } } console.log(factorial(5)); // 输出 120 ``` 使用循环计算阶乘 for循环 ```python def factorial_iterative(n): result = 1 for i in range(1, n + 1): result *= i return result ``` while循环 ```python def factorial_iterative_while(n): result = 1 i = 1 while i <= n: result *= i i += 1 return result ``` 迭代法计算阶乘 ```python def factorial_iterative(n): result = 1 for i in range(1, n + 1): result *= i return result ``` 递归法计算阶乘 ```python def factorial_recursive(n): if n == 0: return 1 else: return n * factorial_recursive(n-1) ``` 示例 Python ```python print(factorial_iterative(5)) 输出 120 print(factorial_recursive(5)) 输出 120 ``` C++ ```cpp int main() { int n; cout << "请输入一个非负整数n: "; cin >> n; cout<< n << "的阶乘为: " << factorial_iterative(n) << endl; return 0; } ``` Java ```java public class Factorial { public static long factorial_iterative(int n) { long result = 1; for (int i = 1; i <= n; i++) { result *= i; } return result; } public static void main(String[] args) { int n = 5; // 可以修改这个值来计算不同数的阶乘 System.out.println(n + "! = " + factorial_iterative(n)); } } ``` JavaScript ```javascript console.log(factorial_iterative(5)); // 输出 120 ``` 这些代码示例展示了如何使用递归、迭代和循环来计算n的阶乘。你可以根据自己的需求和编程习惯选择合适的方法。