目录
代码呈上:
#include <iostream>
#include <cstdio>
using namespace std;
int main(){
int n;
cin>>n;
double s=1,z=1;
for(int i=1;i<=n;i++){
s=s*i;
z+=1.0/s;
}
printf("%.10f",z);
return 0;
}
题目:
1092:求出e的值
时间限制: 1000 ms 内存限制: 65536 KB
提交数: 55062 通过数: 29512
【题目描述】
利用公式
e=1+1/1!+1/2!+1/3!+...+1/n!
求e的值,要求保留小数点后10位。
【输入】
输入只有一行,该行包含一个整数n(2≤n≤15),表示计算e时累加到1n!。
【输出】
输出只有一行,该行包含计算出来的e的值,要求打印小数点后10位。
【输入样例】
10
【输出样例】
2.7182818011
题目解析:
用for循环求出阶乘数后,趁热打铁,求出部分e值,再用for循环相加,即可求出答案。
tip:要注意int和double的定义