Python教程

【习题之Python篇】习题18——fraction模块

本文主要是介绍【习题之Python篇】习题18——fraction模块,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

链接:https://ac.nowcoder.com/acm/contest/13493/C
来源:牛客网

题目描述

小明最近痴迷于斐波那契数列(1,1,2,3,5……),但是最近他又有了新的奇思妙想,就是对于斐波那契数列的相邻的两个数相乘取倒数然后将每一项进行相加,由于小明只喜欢思考不喜欢动手,所以现在他想让你帮他算下这样一个新的数列的前13项的和为多少?(结果用分数表示,且保留最简分数)

备注:

例如前三项:1/(11)+1/(12)+1/(2*3)=5/3

from fractions import Fraction

#斐波那契数列
def f(n):
    if n==1 or n==2:
        return 1
    else:
        return f(n-1)+f(n-2)
        
sum=0
b=[]
for i in range(1,14):
   sum=sum+Fraction(1,f(i)*f(i+1)) #fractions模块可以实现分数的加法,所以我们可以轻松累加
print(sum)

fractions 模块可以实现分数的约分

这篇关于【习题之Python篇】习题18——fraction模块的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!