35:求出e的值
总时间限制:1000ms 内存限制:65536kB
描述
利用公式e = 1 + 1/1! + 1/2! + 1/3! + ... + 1/n! 求e 。
输入
输入只有一行,该行包含一个整数n(2<=n<=15),表示计算e时累加到1/n!。
输出
输出只有一行,该行包含计算出来的e的值,要求打印小数点后10位。
样例输入
10
样例输出
2.7182818011
提示
1、e以及n!用double表示
2、要输出浮点数、双精度数小数点后10位数字,可以用下面这种形式:
printf("%.10f", num);
题意
输入一个整数n(2<=n<=15),输出1 + 1/1! + 1/2! + 1/3! + ... + 1/n! 的结果
思路
用两个for循环,外层for循环嵌套内层for循环,内层for循环用来阶乘。最后输出。
代码实现
点击查看代码
#include <iostream>
using namespace std;
int main(){
double n,t=1,o=1;//定义double类型变量n,t,o,并赋值t,o为1
cin>>n;//输入n
for(int i=1;i<=n;i++){
t=1;//把t赋值为1
for(int j=1;j<=i;j++){
t=t*j;//把t赋值为t乘j的商
}
o+=1/t;//把o赋值为o加1除t的商
}
printf("%.10f",o);//输出o,并保留10位小数
return 0;
}