一、题目
定义
斐波那契数列(Fibonacci sequence),又称黄金分割数列,因数学家莱昂纳多·斐波那契(Leonardo Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐波那契数列以如下被以递推的方法定义:F(0)=1,F(1)=1, F(n)=F(n - 1)+F(n - 2)(n ≥ 2,n ∈ N*)
定义来源于百度百科:斐波那契数列
求100以内的斐波那契数列。
二、Python代码
x=1
y=1
print(x,end="\n")
print(y,end="\n")
while True:z=x+yx=yy=zif (z>100):breakprint(z,end="\n")
运行结果:
三、洛谷P1720 月落乌啼算钱(斐波那契数列)
# 月落乌啼算钱(斐波那契数列)
## 题目背景
(本道题目木有隐藏歌曲……不用猜了……)
《爱与愁的故事第一弹·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
```
6
```
### 样例输出 #1
```
8.00
```
## 提示
对于所有数据:$0 \leq n\leq 48$。
1.题目解析
fn就是第n个斐波那契数
2.Python代码
方法一:
a = int(input())
d=[1,1]
i=1
x=1
y=1
while i<a:z=x+yx=yy=zi=i+1d.append(z)
s=d[a-1]
print("%.2f"%s)
评测结果:
有个不通过,不知道哪个大佬能看出来为什么
方法二:
import math
n = int(input())
t = math.sqrt(5)
a = (1+t)/2
b = (1-t)/2
f = (math.pow(a,n)-math.pow(b,n))/t
print("%.2f"%f)
评测结果: