HDUOJ 2011多項式求和
阿新 • • 發佈:2021-01-30
HDUOJ 2011多項式求和
Problem Description
多項式的描述如下:
1 - 1/2 + 1/3 - 1/4 + 1/5 - 1/6 + …
現在請你求出該多項式的前n項的和。
Input
輸入資料由2行組成,首先是一個正整數m(m<100),表示測試例項的個數,第二行包含m個正整數,對於每一個整數(不妨設為n,n<1000),求該多項式的前n項的和。
Output
對於每個測試例項n,要求輸出多項式前n項的和。每個測試例項的輸出佔一行,結果保留2位小數。
Sample Input
2
1 2
Sample Output
1.00
這道題是一個數學問題,弄清楚多項式的規律就好了,使用C 庫函式 double pow(double x, double y) 返回 x 的 y 次冪,即 xy,可以巧妙的使累加過程中正負交替。
Submit
#include<stdio.h>
#include<math.h>
int main() {
int m, n;
double sum;
scanf("%d", &m);
while (m--) {
scanf("%d", &n);
sum = 0;
for (int i = 0; i < n; i++) {
sum += pow(-1,i) /(i+1);
}
printf("%.2f\n", sum);
}
return 0;
}