1. 程式人生 > >第五屆藍橋杯Java語言C組_調和級數

第五屆藍橋杯Java語言C組_調和級數


1/1 + 1/2 + 1/3 + 1/4 + ... 在數學上稱為調和級數。

它是發散的,也就是說,只要加上足夠多的項,就可以得到任意大的數字。

但是,它發散的很慢:

前1項和達到 1.0
前4項和才超過 2.0
前83項的和才超過 5.0

那麼,請你計算一下,要加多少項,才能使得和達到或超過 15.0 呢?

請填寫這個整數。

注意:只需要填寫一個整數,不要填寫任何多餘的內容。比如說明文字。

解析:

正確答案是 1835421

這一題考查對float和double的理解,如果粗心就會出錯。不需要考慮精度丟失問題。

由於float只能儲存8位有效數字,而double可以保留17位有效數字,結果會四捨五入。

所以用float求得的項數和會大一些,而double不會。