c++用iostream头文件求Sn=1!+2!+3!+4!+5!+…+n!之值,其中n是一个正整数(1<=n<=20) 输入只有一行,一个正整数n。 输出一个正整数Sn代码
时间: 2023-10-08 22:04:54 浏览: 120
如下:
#include <iostream>
using namespace std;
int main() {
int n;
cin >> n;
int s = 1;
int f = 1;
for (int i = 1; i <= n; i++) {
f *= i;
s += f;
}
cout << s << endl;
return 0;
}
相关问题
c++ 求Sn=1!+2!+3!+4!+5!+…+n!之值,其中n是一个数字。
以下是两种C++求Sn=1!+2!+3!+4!+5!+…+n!之值的例子:
1.使用嵌套循环计算阶乘和
```c++
#include <iostream>
using namespace std;
int main() {
long long s,n,i,j,p;
s=0;
cin>>n;//从1累加到n
for(i=1;i<=n;i++) {
p=1;
for(j=1;j<=i;j++)
p*=j;
s+=p;
}
cout<<s<<endl;
return 0;
}
```
2.使用单层循环计算阶乘和
```c++
#include<stdio.h>
int main() {
long long sum=0,m=1;
int i,num;
scanf("%d",&num);
for(i=1;i<=num;i++) {
m*=i;
sum+=m;
}
printf("%lld",sum);
return 0;
}
```
c++ 求Sn=1!+2!+3!+4!+5!+…+n!之值,其中n是一个数字。 输入 n 输出 和 样例输入 5 样例输出 153
这是一个求Sn=1!+2!+3!+4!+5!+…+n!之值的问题,其中n是一个数字。可以使用循环或递归的方法解决。以下是一个C++的循环解决方法的示例代码:
```
#include <iostream>
using namespace std;
int main() {
int n;
long long s = 1, sum = 0;
cin >> n;
for (int i = 1; i <= n; i++) {
s *= i;
sum += s;
}
cout << sum;
return 0;
}
```
以上代码中,使用了一个long long类型的变量sum来保存Sn的值,使用了一个for循环来计算每个数的阶乘并累加到sum中。注意,由于阶乘和阶乘累加的结果均已超出int整型表示范围,因此需要使用long long类型进行定义。
阅读全文