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))
原文地址:https://www.cnblogs.com/Alins/p/10747822.html
时间: 2024-10-09 05:05:58