B2079 求出 e 的值 题解
Dijkstra_zyl · · 题解
B2079 求出 e 的值 题解
小数存储 + 循环结构
#include <bits/stdc++.h>
using namespace std;
int f(int n){//取n的阶乘
if(n == 1) return n;
return n * f(n-1);
}
int main(){
int n; cin >> n;
long double e = 1.0,ans = 1.0;//用ans累加e
for(int i = 1;i <= n;i++){
e *= i;//也就是记录i的阶乘
ans += 1/e;
}
printf("%.10Lf",ans);//long double -> %Lf
return 0;
} //Ade