Python分别使用迭代与递归分别实现斐波那契数列

简介: Python分别使用迭代与递归分别实现斐波那契数列


什么是斐波那契数列

听说过在最美分割线、黄金比例吗

1:1.618

20201008100613261.png

迭代实现

 def fab(n):
  n1=1
  n2=1
  n3=1
  if n<1:
    print('输入有误!')
    return -1
  while (n-2) > 0 :
    n3 = n2 + n1
    n1 = n2
    n2 = n3
    n -= 1
  return n3
 result = fab(20)
 if result !=1:
  print('总共有%d对兔子出生' % result)

递归实现

def fab(n):
  if n < 1 :
    print('输入有误!')
    return -1
  if n == 1 or n == 2:
    return 1
  else:
    return fab(n-1) + fab(n-2)
result = fab(20)
if return != -1:
  print ('总共有%d对兔子出生' % result)
相关文章
|
1月前
|
算法 Python
在Python编程中,分治法、贪心算法和动态规划是三种重要的算法。分治法通过将大问题分解为小问题,递归解决后合并结果
在Python编程中,分治法、贪心算法和动态规划是三种重要的算法。分治法通过将大问题分解为小问题,递归解决后合并结果;贪心算法在每一步选择局部最优解,追求全局最优;动态规划通过保存子问题的解,避免重复计算,确保全局最优。这三种算法各具特色,适用于不同类型的问题,合理选择能显著提升编程效率。
49 2
|
2月前
|
Python
【10月更文挑战第18天】「Mac上学Python 29」基础篇10 - 循环结构与迭代控制
在Python中,循环结构是控制程序执行的重要工具。通过学习本篇内容,您将掌握如何使用for循环和while循环来高效地处理重复任务,并了解break、continue和else的使用方式。同时,我们还会探索嵌套循环和典型应用场景中的实际应用。
43 2
|
2月前
|
Java 程序员 C++
【Python】链式、嵌套调用、递归、函数栈帧、参数默认值和关键字参数
【Python】链式、嵌套调用、递归、函数栈帧、参数默认值和关键字参数
33 0
【Python】链式、嵌套调用、递归、函数栈帧、参数默认值和关键字参数
|
3月前
|
Python
python之迭代
python之迭代
|
2月前
|
存储 大数据 数据处理
理解Python中的生成器:高效迭代的秘密
【10月更文挑战第8天】理解Python中的生成器:高效迭代的秘密
42 0
|
2月前
|
Python
在Python中实现斐波那契数列(Fibonacci sequence)的4中方法
在Python中实现斐波那契数列(Fibonacci sequence)的4中方法
315 0
|
3月前
|
Python
Python中的zip:高效处理并行迭代的利器
Python中的zip:高效处理并行迭代的利器
32 0
|
4月前
|
算法 Python
python函数递归和生成器
python函数递归和生成器
|
4月前
|
算法 数据挖掘 Python
|
4月前
|
数据采集 Java Python
python 递归锁、信号量、事件、线程队列、进程池和线程池、回调函数、定时器
python 递归锁、信号量、事件、线程队列、进程池和线程池、回调函数、定时器
下一篇
DataWorks