C++输入一个正整数n, 求1/1! +1/2! +...1/n!
时间: 2023-11-21 09:07:00 浏览: 71
以下是C++求1/1! +1/2! +...1/n!的代码和解释:
```c++
#include <iostream>
using namespace std;
int main() {
int n;
double s = 0, fac = 1; // s表示和,fac表示阶乘
cout << "请输入一个正整数n:";
cin >> n;
for (int i = 1; i <= n; i++) {
fac *= i; // 计算i的阶乘
s += 1.0 / fac; // 累加1/i!到s中
}
printf("%.3f\n", s); // 输出结果,保留3位小数
return 0;
}
```
相关问题
c++计算1!+2!+3!+..+n!
可以使用循环语句来实现计算1!+2!+3!+...+n!的功能,具体实现方法如下:
```
#include <iostream>
using namespace std;
int main()
{
int n, sum = 0, fac = 1;
cout << "请输入一个正整数n:";
cin >> n;
for (int i = 1; i <= n; i++)
{
fac *= i;
sum += fac;
}
cout << "1!+2!+3!+...+n!的和为:" << sum << endl;
return 0;
}
```
以上代码中,我们使用了一个循环语句来遍历从1到n的所有数字,计算它们的阶乘并将它们加起来。在每次循环中,我们使用fac变量来存储当前数字的阶乘,并使用sum变量来累加所有数字的阶乘之和。最后输出sum即可。
用c++语言写输入一个正整数n,求1-2!+3!-4!+.....+N!的结果
以下是用C++语言写输入一个正整数n,求1-2!+3!-4!+.....+N!的结果的代码:
```cpp
#include <iostream>
using namespace std;
int main() {
int n, sum = 0, fac = 1, flag = 1;
cin >> n;
for (int i = 1; i <= n; i++) {
fac *= i;
sum += flag * fac;
flag = -flag;
}
cout << sum << endl;
return 0;
}
```