Python实现:P1720 月落乌啼算钱(斐波那契数列)


题目

在这里插入图片描述
在这里插入图片描述

源代码

#法1:公式代入
n = int(input())
g = 5 ** 0.5
f = (((1 + g) / 2) ** n - ((1 - g) / 2) ** n) / g
print('%0.2f' % f)

#法2:斐波那契数列法
n = int(input())
a = b = 1
for i in range(1, n):
    c = a + b
    a = b
    b = c
if n != 0:
    print("%.2f" % a)
else:
    print("%.2f" % 0.00)

解题思路

1)公式代入:根据手写公式依次代入数进行运算,其中5的平方根等于五的0.5次方,可以求出根号5的大小,在Python中**是乘方,代入公式即可求出代数式的值。
在这里插入图片描述

2)利用斐波那契数列特性进行递归求解:根据观察该表达式是斐波那契数列求和表达式,因此可以使用递归方式进行计算第N项的和。
本图源自百度

格式化输出指定小数位数

%m.nf

m表示最小宽度,n为小数精度,m可以省略,但.不可省略

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值