Description
利用公式e = 1 + 1/1! + 1/2! + 1/3! + ... + 1/n! 求e 。
Input
輸入只有一行,該行包含一個整數n(2<=n<=15),表示計算e時累加到1/n!。
Output
輸出只有一行,該行包含計算出來的e的值,要求打印小數點後10位。
Sample Input
10
Sample Output
2.7182818011
Hint
1、e以及n!用double表示
2、要輸出浮點數、雙精度數小數點後10位數字,可以用下面這種形式:
參考代碼
- #include <iostream>
- #include <cstring>
- #include <iomanip>
- using namespace std;
- double fact(int n){
- if(0 == n || 1 == n){
- return 1.0;
- }
- return (double)n * fact(n - 1);
- }
- int main(){
- int i,n;
- double ds;
- std::cin>>n;
- ds = 0;
- for(i = 0;i <= n;i ++){
- ds += 1.0 / fact(i);
- }
- std::cout<<std::fixed<<std::setprecision(10)<<ds<<std::endl;
- return 0;
- }