月落乌啼算钱(斐波那契数列)

月落乌啼算钱(斐波那契数列)

W1ndys Lv6

月落乌啼算钱(斐波那契数列)

题目背景

(本道题目木有隐藏歌曲……不用猜了……)

《爱与愁的故事第一弹· heartache》最终章。

吃完 pizza,月落乌啼知道超出自己的预算了。为了不在爱与愁大神面前献丑,只好还是硬着头皮去算钱……

题目描述

算完钱后,月落乌啼想着:“你坑我!”于是当爱与愁大神问多少钱时,月落乌啼说了一堆乱码。爱与愁大神说:“算了算了,我只问第 $n$ 样菜价格多少?”月落乌啼写出了:

$$F_n=\dfrac{\left(\frac{1+\sqrt{5}}{2}\right)^n-\left(\frac{1-\sqrt{5}}{2}\right)^n}{\sqrt{5}}$$

由于爱与愁大神学过编程,于是就用 $1$ 分钟的时间求出了 $F_n$ 的结果。月落乌啼为此大吃一惊。你能学学爱与愁大神求出 $F_n$ 的值吗?

输入格式

一行一个自然数 $n$。

输出格式

只有 $1$ 行一个实数 $F_n$,保留两位小数。

样例 #1

样例输入 #1

1
6

样例输出 #1

1
8.00

提示

对于所有数据:$0 \leq n\leq 48$。

题解

法一

1
2
3
4
n = int(input())
g5 = 5**0.5
fn = ((((1 + g5) / 2) ** n) - (((1 - g5) / 2) ** n)) / g5
print("%.2f" % fn)

法二

由于题目给出提示了,斐波那契数列,直接写一个斐波那契数列就行了,实测也是这样的

题解解释

这段代码是用来计算斐波那契数列的第 n 个数字的近似值的。以下是代码的解释:

  1. n = int(input()): 用户输入一个整数 n,表示要计算斐波那契数列的第 n 个数字。

  2. g5 = 5**0.5: 这里定义了一个变量 g5,它是 5 的平方根,用于后面的计算。

  3. fn = ((((1 + g5) / 2) ** n) - (((1 - g5) / 2) ** n)) / g5: 这行代码计算了斐波那契数列的第 n 个数字的近似值。它使用了黄金比例和斐波那契数列的性质来进行计算。表达式中的部分是斐波那契数列的通项公式。

  4. print("%.2f" % fn): 最后,使用 print 函数将计算得到的近似值打印出来。"%.2f" 的格式化字符串表示将浮点数 fn 格式化为小数点后两位的浮点数,并打印出来。

知识点

小数保留几位的方法

1
print("%.2f" % math)

开根号的方法

1
a = b ** 0.5
  • 标题: 月落乌啼算钱(斐波那契数列)
  • 作者: W1ndys
  • 创建于 : 2024-02-14 11:22:07
  • 更新于 : 2025-01-17 20:28:48
  • 链接: https://blog.w1ndys.top/posts/28e75b42.html
  • 版权声明: 版权所有 © W1ndys,禁止转载。
评论