给定输入n,求1!+2!+3!+。+n!。在使用双重循环解决问题的前提下,可以尝试优化算法,使用单重循环解决该问题。
【输入形式】
一个数字n,不超过20
【输出形式】【输出形式】
一个数字,1!+2!+3!+.+n!的结果
【样例输入】
3
【样例输出】
9
【样例说明】
输入为3,即求1!+2!+3!=1+2+6=9
int n;
int a=1;
int sum=0;
cin>>n;
for(int i=1;i<=n;i++)
{
a*=i;
sum+=a;
}
cout<<sum;
供参考:
#include <stdio.h>
int main()
{
int n, i, t=1, s=0;
scanf("%d",&n);
for (i = 1; i <= n; i++)
{
t *= i;
s += t;
}
printf("%d",s);
return 0;
}
#include <iostream>
using namespace std;
int main()
{
int n = 0, sum = 0, t = 1;
cin >> n;
for (int i = 1; i <= n; i++)
{
t *= i;
sum += t;
}
cout << sum << endl;
return 0;
}