【2020京東筆試題】求數列前n項和--Python實現


題目:

求以下數列的和:

f(n)=1/5-1/10+1/15-1/20+1/25-.......+1/(5*(2*n-1))-1/(5*2*n)

輸入描述:單組輸入。每組數據一個輸入,每個輸入一行,輸入n。(n<=100)

輸出描述:輸出數列前n項的和,結果四舍五入保留四位小數。

樣例輸入:1

樣例輸出:0.1000

 

分析:

可以看出數列通項就是最后兩項,n從1開始,最大為100.

Python代碼如下:

 1 def monofunction(n):
 2     f = 1/(5*(2*n-1))-1/(5*2*n)
 3     return f
 4 
 5 
 6 def Fun(k):
 7     sumvalue = 0
 8     for i in range(k):
 9         f = monofunction(i+1)
10         sumvalue += f
11     return sumvalue
12 
13 
14 if __name__ == "__main__":
15     while True:
16         print("請輸入1~100之間的整數,求其前n項和")
17         k = int(input())
18         if k <=100 and k>0:
19             res = Fun(k)
20             print("{:.4f}".format(res))
21             # print("前%d項和為%.4f"%(k,res))
22         else:
23             print("超出范圍")

 

結果:

 

1 3
2 0.1233

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM