正整数的阶乘是指从1乘2乘3乘4一直乘到所要求的数,例如要求数是5,则阶乘式是1*2*3*4*5,得到的积是120所以120是5的阶乘: 非递归版本实现:
时间: 2024-04-11 15:26:57 浏览: 14
以下是使用非递归方式实现计算正整数阶乘的Python函数:
```python
def factorial(n):
result = 1
for i in range(1, n+1):
result *= i
return result
# 测试
num = 5
print(factorial(num)) # 输出: 120
```
该函数使用循环从1到n,依次累乘得到阶乘结果。在每次循环中,将当前的i乘以结果result,并将结果赋值给result。最后返回result即为所求的阶乘结果。
相关问题
Python计算正整数阶乘从1到n
以下是计算正整数阶乘从1到n的Python代码:
```python
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n-1)
def factorial_sum(n):
sum = 0
for i in range(1, n+1):
sum += factorial(i)
return sum
n = int(input("请输入一个正整数:"))
print("从1到", n, "的正整数阶乘之和为:", factorial_sum(n))
```
在这段代码中,我们先定义了一个计算阶乘的函数`factorial`,然后再定义了一个计算正整数阶乘从1到n的和的函数`factorial_sum`。`factorial_sum`函数使用了一个for循环来计算1到n的阶乘之和,每次循环调用`factorial`函数来计算i的阶乘,然后将结果累加到`sum`变量中。最后输出结果。
JAVA输入一个正整数,输出从这个数到1各自的阶乘值
以下是JAVA代码实现:
```
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("请输入一个正整数:");
int n = input.nextInt();
for (int i = n; i >= 1; i--) {
int res = 1;
for (int j = i; j >= 1; j--) {
res *= j;
}
System.out.println(i + "的阶乘为:" + res);
}
}
}
```
输入一个正整数,例如5,输出如下结果:
```
请输入一个正整数:5
5的阶乘为:120
4的阶乘为:24
3的阶乘为:6
2的阶乘为:2
1的阶乘为:1
```