请编程求1*2*3*4*……*n
时间: 2024-01-10 21:21:26 浏览: 26
以下是两种编程求1*2*3*4*……*n的方法:
1. 使用循环计算阶乘:
```python
def factorial(n):
result = 1
for i in range(1, n+1):
result *= i
return result
n = 5
print(factorial(n)) # 输出:120
```
2. 使用递归计算阶乘:
```python
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n-1)
n = 5
print(factorial(n)) # 输出:120
```
相关问题
c编程求1*2*3*4*……*n
以下是C语言求1*2*3*...*n的代码和解释:
```c
#include <stdio.h>
int main() {
int n, i, result;
result = 1; // 初始化result为1
printf("请输入一个正整数n:");
scanf("%d", &n); // 从用户输入中读取n的值
for (i = 1; i <= n; i++) {
result *= i; // 累乘每个i的值
}
printf("%d的阶乘为%d", n, result); // 输出结果
return 0;
}
```
解释:
1. 首先定义三个变量n、i和result,其中result用于存储最终的结果,初始化为1。
2. 通过scanf函数从用户输入中读取n的值。
3. 使用for循环从1到n遍历每个i的值,每次循环将result乘以i的值,最终得到1*2*3*...*n的结果。
4. 使用printf函数输出结果。
请编程求1*2*3*4*……*20
好的,这里给您提供两种方法来求1*2*3*4*……*20的值:
方法一:使用循环语句
```python
result = 1
for i in range(1, 21):
result *= i
print(result)
```
方法二:使用递归函数
```python
def factorial(n):
if n == 1:
return 1
else:
return n * factorial(n-1)
print(factorial(20))
```
两种方法都可以得到答案,但是递归函数的实现可能会更加简洁。