本題要求編寫程序,計算序列 1 + 1/3 + 1/5 + ... 的前N項之和。
輸入格式:
輸入在一行中給出一個正整數N。
輸出格式:
在一行中按照“sum = S”的格式輸出部分和的值S,精確到小數點后6位。題目保證計算結果不超過雙精度范圍。
代碼如下:
#!/usr/bin/python # -*- coding: utf-8 -*- n=int(input()) sum = 0 def xl(m): if m==1: return 1 return (1/((m*2)-1)) + xl(m-1) sum = xl(n) print("sum = {:.6f}".format(sum))
這個代碼存在問題,在提交的時候有一個非零返回。
百度看了其它的程序,發現都是用循環寫的直接輸出,提交沒有報錯,我用return返回然后進行轉換都不行。
誰來幫我解釋解釋呀。
我的輸出值sum和一般輸出的sum區別在哪里?另外我的這個怎么轉換成和一般輸出的sum一樣?
讀書和健身總有一個在路上
