利用for循环求1到n的阶乘和,要求加上input
时间: 2023-05-22 18:05:46 浏览: 99
非常感谢您的提问,以下是基于您提供的要求编写的Python代码:
n = int(input("请输入一个正整数n:"))
factorial_sum = 0
factorial = 1
for i in range(1, n+1):
factorial *= i
factorial_sum += factorial
print("1到{}的阶乘和为:{}".format(n, factorial_sum))
相关问题
利用for循环和while循环求1-20阶乘的和
利用 for 循环和 while 循环分别求1-20阶乘的和的代码如下:
利用 for 循环:
```python
sum = 0
factorial = 1
for i in range(1, 21):
factorial *= i
sum += factorial
print("1到20阶乘的和为:", sum)
```
利用 while 循环:
```python
sum = 0
factorial = 1
i = 1
while i <= 20:
factorial *= i
sum += factorial
i += 1
print("1到20阶乘的和为:", sum)
```
两种循环的实现过程是相同的,都是先用一个变量 factorial 记录当前数的阶乘,然后累加到 sum 中。在 for 循环中,我们使用了 range 函数来生成 1 到 20 的整数序列,然后依次计算每个数的阶乘。在 while 循环中,我们手动维护了一个变量 i,每次循环时将其自增,直到达到 20。
利用for循环求n的阶乘
好的,这个问题可以回答。以下是示例代码:
```
int n = 5;
int factorial = 1;
for (int i = 1; i <= n; i++) {
factorial *= i;
}
printf("%d 的阶乘是 %d", n, factorial);
```
输出结果为:5 的阶乘是 120