用while 循环实现阶乘相加
时间: 2023-10-09 20:16:14 浏览: 105
以下是用while循环实现阶乘相加的示例代码:
```python
n = int(input("请输入正整数: "))
sum = 0
factorial = 1
i = 1
while i <= n:
factorial *= i
sum += factorial
i += 1
print("1! + 2! + ... + %d! = %d" % (n, sum))
```
首先,我们输入要求的阶乘数n,然后初始化sum为0,factorial为1,i为1。在while循环中,每次将i乘到factorial中去,然后将结果加到sum中。最后输出结果。
相关问题
分别用do while和for循环计算1到1/20的阶乘之和
使用do while循环计算1到1/20的阶乘之和:
```
double sum = 0;
int i = 1;
do {
double factorial = 1;
for (int j = 1; j <= i; j++) {
factorial *= j;
}
sum += factorial;
i++;
} while (i <= 20);
System.out.println("1到1/20的阶乘之和为:" + sum);
```
使用for循环计算1到1/20的阶乘之和:
```
double sum = 0;
for (int i = 1; i <= 20; i++) {
double factorial = 1;
for (int j = 1; j <= i; j++) {
factorial *= j;
}
sum += factorial;
}
System.out.println("1到1/20的阶乘之和为:" + sum);
```
两种方法都是先计算每个数的阶乘,然后将它们相加得到最终的结果。其中do while循环需要先定义一个计数器i,然后在循环体中更新它,直到达到循环的终止条件。而for循环则在循环头中定义计数器i,并在循环体中更新它,条件判断也在循环头中完成。
do-while求1的阶乘加到10的阶乘
好的,这个问题是关于编程的,可以回答。以下是do-while循环求1的阶乘加到10的阶乘的代码:
```c++
#include <iostream>
using namespace std;
int main() {
int n = 1, result = 0;
do {
int fact = 1;
for (int i = 1; i <= n; i++) {
fact *= i; // n的阶乘
}
result += fact; // 累加阶乘
n++;
} while (n <= 10);
cout << result << endl; // 输出结果
return 0;
}
```
该程序使用do-while循环计算1到10的阶乘,并将它们相加得到最终结果。