2504多項式求和

2021-08-21 15:59:45 字數 1475 閱讀 9172

多項式求和

time limit: 1000 ms memory limit: 65536 kib

problem description

多項式描述如下:

1 - 1/2 + 1/3 - 1/4 + 1/5 - 1/6 ……

先請你求出多項式前n項的和。

input

第一行輸入乙個數t代表測試資料個數(t<=1000)。接下來t行每行1個數代表n(0<=n< 2^31)。

output

對於每個輸入樣例,輸出多項式和的結果(結果精確到小數點後兩位)。每行輸出乙個結果。

sample input

2 1

2 sample output

1.00

0.50

hint

source

中國海洋大學第三屆「朗訊杯」程式設計比賽高階組試題

think:前兩個**是提交後超時的錯誤**,最後乙個是發現是乙個交錯級數後修改後的**,a了

/*//直接相加,利用結構體,鍊錶的作用在哪?然鵝超時

#include

#include

struct node

;double create(long long int n)

else

p->next=null;

p->summ=s;

tail->next=p;

tail=p;

}return tail->summ;

}int main()

return0;}

*///利用了遞迴,可是還是沒有找出怎麼利用鍊錶,還是超時

//我估計超時的原因是每一次用的時候都得重新算一遍,n的範圍

//那麼大,怎麼做?怎麼利用鍊錶的優點?

/*#include

#include

double s;

struct node

*tail;

double sum(struct node*tail)

returns;}

int main()

printf("%.2lf\n",sum(tail));

}return0;}

*/#include

#include

struct node

;double create(int n)

else}}

else

if(n>=61&&n<=269)

else

s=0.69;

}else

s=0.69;

returns;}

int main()

return0;}

//這是個交錯級數,肯定收斂,所以一定有規律,那樣暴力求和肯定會超時

//這個題就是考找規律,寫出前100個數就能發現規律,然後再多列印

//會發現後面的數都收斂了,直接寫出規律即可

多項式求和 2504

time limit 1000 ms memory limit 65536 kib problem description 多項式描述如下 1 1 2 1 3 1 4 1 5 1 6 先請你求出多項式前n項的和。input 第一行輸入乙個數t代表測試資料個數 t 1000 接下來t行每行1個數代表n...

多項式求和

多項式的描述如下 1 1 2 1 3 1 4 1 5 1 6 現在請你求出該多項式的前n項的和。輸入資料由2行組成,首先是乙個正整數m m 100 表示測試例項的個數,第二行包含m個正整數,對於每乙個整數 不妨設為n,n 1000 求該多項式的前n項的和。對於每個測試例項n,要求輸出多項式前n項的和...

多項式求和

time limit 1000ms memory limit 65536k 有疑問?點這裡 多項式描述如下 1 1 2 1 3 1 4 1 5 1 6 先請你求出多項式前n項的和。第一行輸入乙個數t代表測試資料個數 t 1000 接下來t行每行1個數代表n 0 n 2 31 對於每個輸入樣例,輸出多...