一、求和:S = 1!+2!+3!+……+10!
我的代码
//求和:S = 1!+2!+3!+……+10!
#include<iostream>
#include<stdlib.h>
using namespace std;
int getSum(int n)
{
int fac = 1, sum = 0;
for(int i=1; i<(n+1); i++)
{
fac = fac*i;
sum += fac;
//if(i == 0) break;
}
return sum;
}
int main()
{
int a;
cin >> a;
cout << getSum(a) << endl;
system("pause");
return 0;
}
二、求e = 1 + 1/1!+ 1/2!+ 1/3!+ ……
我的代码
//求e = 1 + 1/1!+ 1/2!+ 1/3!+ ……
#include<iostream>
#include<stdlib.h>
using namespace std;
double get_e(int n)
{
double sum = 1, fac = 1, temp;
for(int i=1; i<(n+1); i++)
{
fac *= i;
temp = 1/fac;
sum += temp;
//cout << sum << endl;
}
return sum;
}
int main()
{
int a;
cin >> a;
cout << get_e(a) << endl;
system("pause");
return 0;
}
总结
1、阶乘求和可用for()循环求解;