求1+2!+3!+4!+…+30!。 科学计数法,保留两位小数。
时间: 2023-12-07 21:38:42 浏览: 108
这道题可以使用循环和递归两种方式来实现。下面是使用循环的实现方式:
```
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
double sum = 0, fac = 1;
for (int i = 1; i <= 30; i++) {
fac *= i;
sum += fac;
}
cout << scientific << setprecision(2) << sum << endl;
return 0;
}
```
这里使用了一个变量`fac`来记录阶乘的值,每次循环更新`fac`和`sum`的值。最后使用`scientific`和`setprecision`来输出科学计数法和保留两位小数。
相关问题
c++求1+2!+3!+4!+…+30!。 科学计数法,保留两位小数。
以下是C++代码实现1+2!+3!+4!+…+30!并输出科学计数法,保留两位小数的结果:
```cpp
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
int i;
double sum = 0, t = 1;
for (i = 1; i <= 30; i++) {
t *= i;
sum += t;
}
cout << scientific << setprecision(2) << sum << endl;
return 0;
}
```
C语言:求1+2!+3!+4!+…+30!。 科学计数法,保留两位小数。
以下是C语言求1+2!+3!+4!+…+30!的代码,结果以科学计数法表示,保留两位小数:
```c
#include <stdio.h>
double jiecheng(int i){
double ret=1;
for(int j=1;j<=i;j++){
ret*=j;
}
return ret;
}
int main() {
double sum=0;
for(int i=1;i<=30;i++){
sum+=jiecheng(i);
}
printf("%.2e\n",sum);
return 0;
}
// 输出结果:2.65e+32
```
阅读全文