C語言的課後習題 求數列:2/1,3/2,5/3,8/5,13/8,21/13,...前50項的和 數列規律: 第二項的分母是【前一項分子】 第二項的分子是【前一項分子與分母的和】 ...
C語言的課後習題
求數列:2/1,3/2,5/3,8/5,13/8,21/13,...前50項的和
數列規律:
第二項的分母是【前一項分子】
第二項的分子是【前一項分子與分母的和】
from fractions import Fraction def fn(x): """ 計算每一項的值 """ time = 1 fz = 2 fm = 1 if x == 1:return fz / fm #if x == 1:return Fraction(fz, fm) 這句話是分數表示 else: while time < x : cost = fz + fm fm = fz fz = cost time = time + 1 return fz / fm #return Fraction(fz, fm) def sum_fn(x): """ 遞歸計算,進行函數每一項的相加 """ if x == 1:return 2 else: return fn(x) + sum_fn(x-1) a = int(input("請輸入連續加到的項數:")) print(sum_fn(a))