计算n的阶乘有多种编程方法,以下是几种常见的编程语言实现:
1. 使用for循环
Python
```python
def factorial(n):
if n == 0:
return 1
else:
result = 1
for i in range(1, n + 1):
result *= i
return result
n = int(input("请输入一个整数n: "))
print(factorial(n))
```
C++
```cpp
include using namespace std; int factorial(int n) { if (n == 0) { return 1; } else { int result = 1; for (int i = 1; i <= n; i++) { result *= i; } return result; } } 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) { throw new IllegalArgumentException("输入的数字不能为负数"); } long result = 1; for (int i = 1; i <= n; i++) { result *= i; } return result; } public static void main(String[] args) { int num = 5; long factorialResult = factorial(num); System.out.println(num + "的阶乘是:" + factorialResult); } } ``` 2. 使用while循环 Python ```python def factorial(n): if n == 0: return 1 else: ans = 1 i = 1 while i < n: ans *= i i += 1 return ans n = int(input("请输入一个整数n: ")) print(factorial(n)) ``` C++ ```cpp include using namespace std; int factorial(int n) { if (n == 0) { return 1; } else { int ans = 1; int i = 1; while (i < n) { ans *= i; i++; } return ans; } } int main() { int n; cout << "请输入一个整数n: "; cin >> n; cout<< n << "的阶乘是: " << factorial(n) << endl; return 0; } ``` 3. 使用递归 Python ```python def factorial(n): if n == 0: return 1 else: return n * factorial(n-1) n = int(input("请输入一个整数n: ")) print(factorial(n)) ``` 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 num = 5; long factorialResult = factorial(num); System.out.println(num + "的阶乘是:" + factorialResult); } } ``` 4. 使用数学公式 在某些情况下,可以使用数学公式直接计算阶