时间限制:C/C++ 1000MS,其他语言 2000MS
内存限制:C/C++ 64MB,其他语言 128MB
难度:中等
分数:100 OI排行榜得分:12(0.1*分数+2*难度)
出题人:root
描述
利用公式 e=1+1!1+2!1+3!1+...+n!1, 求 e。
输入描述
输入只有一行,该行包含一个整数n(2≤n≤15)。
输出描述
输出只有一行,该行包含计算出来的e的值,要求打印小数点后 10 位。
用例输入 1
10
用例输出 1
2.7182818011
#include<bits/stdc++.h>
#define ll long long
using namespace std;
ll jc(ll n){//阶乘!,弊端是不用高精度仍然超市
ll i,x=1;
for(i=1;i<=n;i++){
x*=i;
}
return x;
}
main() {
double ans=0.0;
ll n,i,j,k,x;
cout<<"位数:";
cin>>x;
cout<<"精度:";
cin>>n;
//cout<<jc(n);
for(i=0;i<=n;i++){//循环计算
ans+=1.0/jc(i)*1.0;
} cout<<setprecision(x)<<fixed<<ans;//设置小数位数
}
记得点赞收藏加关注。