1. 使用普通的for循环计算阶乘
```python
def factorial(num):
a = 1
for i in range(1, num + 1):
a *= i
return a
n = int(input("请输入一个整数n: "))
print(factorial(n))
```
2. 使用while循环计算阶乘
```python
n = int(input("请输入一个整数n: "))
ans = 1
i = 1
if n == 0:
print(1)
else:
while i < n:
ans *= i
i += 1
print(ans)
```
3. 使用递归函数计算阶乘
```python
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n - 1)
n = int(input("请输入一个整数n: "))
print(factorial(n))
```
4. 使用C语言计算阶乘
方法一:循环
```c
include
int main() {
int n, i, s = 1;
scanf("%d", &n);
for (i = 1; i <= n; i++) {
s = s * i;
}
printf("%d\n", s);
return 0;
}
```
方法二:递归
```c
include
long factorial(int n) {
if (n == 1) {
return 1;
} else {
return n * factorial(n - 1);
}
}
int main() {
int n;
scanf("%d", &n);
printf("该数的阶乘是: %ld\n", factorial(n));
return 0;
}
```
5. 使用Python计算阶乘
```python
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n - 1)
n = int(input("请输入一个整数n: "))
print(factorial(n))
```
6. 使用Java计算阶乘
```java
import java.util.Scanner;
public class Factorial {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("输入一个正数:");
int n = sc.nextInt();
System.out.println("该数的阶乘是: " + factorial(n));
}
public static long factorial(int n) {
if (n == 1) {
return 1;
} else {
return n * factorial(n - 1);
}
}
}
```
这些方法涵盖了不同的编程语言和计算阶乘的不同方式,可以根据具体需求和编程环境选择合适的方法。