1. 程式人生 > 其它 >HDUOJ 2011多項式求和

HDUOJ 2011多項式求和

技術標籤:HDUOJ刷題記錄演算法

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

0.50

這道題是一個數學問題,弄清楚多項式的規律就好了,使用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; }