2017年10月7日 星期六

[C_MM42-中] 求(-1)^(n+1)*[1/(2n-1)]的和(C++)

[C_MM42-中] 求(-1)^(n+1)*[1/(2n-1)]的和

問題描述:撰寫一個程式,使用者輸入一個整數 n ( n ≤ 15 ),求 = 1 - 1/3 + 1/5 - 1/7 + ... + (-1)n+1×1/(2n-1)
輸入說明輸入一個整數 n
輸出說明:輸出 S 之值,四捨五入至小數第三位。
範例:

Sample Input:Sample Output:
10
15
0.760
0.802
  1. #include <iostream>  
  2. #include <cmath>  
  3. #include<iomanip>  
  4. using namespace std;  
  5.    
  6. int main() {  
  7.     // [C_MM42-中] 求(-1)^(n+1)*[1/(2n-1)]的和  
  8.     int n;  
  9.     double sum=0;  
  10.     while(cin >> n)  
  11.     {  
  12.         for(int i = 1;i <= n;i++)  
  13.         {  
  14.             //pow(int, int)是不接受的  
  15.             //所以我把它變成pow(double, int)  
  16.             int x = i+1;  
  17.             double y = -1;  
  18.             sum = sum + ((pow(y, x)/(2*i-1)));  
  19.         }  
  20.         sum = floor(sum * 1000 + 0.5) / 1000;  //四捨五入
  21.         cout << fixed << setprecision(3) << sum << endl;   //至小數第三位
  22.         sum = 0;  
  23.     }  
  24.     return 0;  
  25. }  

沒有留言:

張貼留言