題目:
求以下數列的和:
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