本文主要是介绍Python100例(六)斐波那契数列,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
文章目录
- 前言
- 1. 题目描述
- 2. 程序分析
- 3. 程序源代码
- 1) 滑动窗口
- 2) 递归
- 4. 运行结果
- 5. 难度分析
- 6. 涉及知识点
- 结语
前言
本专栏从「基础」的编程知识开始,带你了解「基础算法」以及「Python的美」与「函数」的方便与快捷之处。收集 「100例Python语言基础入门题」,包含 「考试真题」, 「LeetCode基础题」,并且加入详细的解题思路以及难度分析。
此100例部分为『本人』收集,部分为本人自己所想,从『入门』开始,到『进阶』结束,『实际操作』加解题分析,让你『彻底掌握』Python语言基础
1. 题目描述
斐波那契数列。
2. 程序分析
斐波那契数列(Fibonacci sequence),又称黄金分割数列,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……。
在数学上,费波那契数列是以递归的方法来定义:
F0 = 0 (n=0)
F1 = 1 (n=1)
Fn = F[n-1]+ F[n-2](n=>2)
3. 程序源代码
1) 滑动窗口
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Author: Smly
# @datetime: 2021/11/2 21:06
# @Version: 1.0# 方法名字说出来感觉复杂,其实就是将数列前两项列出来,然后使用通项公式计算
def fib(n):a,b = 1,1for i in range(n-1):a,b = b,a+breturn a# 输出了第10个斐波那契数列
print (fib(10))
2) 递归
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Author: Smly
# @datetime: 2021/11/2 21:06
# @Version: 1.0# 使用递归
def fib(n):if n==1 or n==2:return 1return fib(n-1)+fib(n-2)# 输出了第10个斐波那契数列
print (fib(10))
4. 运行结果
55
5. 难度分析
- 方法不太好想,但是想出来方法就很简单
- 递归细节地方容易出错
6. 涉及知识点
- 递归
- 高中数学数列通项公式
结语
粉丝福利
关注博主公众号,领取更多精彩内容
这篇关于Python100例(六)斐波那契数列的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!