歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> C++編程練習-求出e的值

C++編程練習-求出e的值

日期:2017/3/1 11:16:42   编辑:Linux編程
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位數字,可以用下面這種形式:

參考代碼

  1. #include <iostream>
  2. #include <cstring>
  3. #include <iomanip>
  4. using namespace std;
  5. double fact(int n){
  6. if(0 == n || 1 == n){
  7. return 1.0;
  8. }
  9. return (double)n * fact(n - 1);
  10. }
  11. int main(){
  12. int i,n;
  13. double ds;
  14. std::cin>>n;
  15. ds = 0;
  16. for(i = 0;i <= n;i ++){
  17. ds += 1.0 / fact(i);
  18. }
  19. std::cout<<std::fixed<<std::setprecision(10)<<ds<<std::endl;
  20. return 0;
  21. }
Copyright © Linux教程網 All Rights Reserved