鱼C论坛

 找回密码
 立即注册
查看: 5257|回复: 3

大佬们 如何用栈来实现斐波那契数列啊

[复制链接]
发表于 2021-5-18 08:40:25 | 显示全部楼层 |阅读模式
50鱼币
当n=1或n=2值为1 然后将其压入栈  

170100sfbafgyasnbhjhut.png.thumb.jpg
170100sfbafgyasnbhjhut.png.thumb.jpg
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-5-18 13:02:09 | 显示全部楼层

用 Python 写了栈类:

  1. class Stack(object):
  2.     def __init__(self):
  3.         # 初始化空栈
  4.         self.item = []

  5.     def push(self,item):
  6.         # 压栈
  7.         self.item.append(item)

  8.     def pop(self):
  9.         # 弹出栈顶元素
  10.         return self.item.pop()

  11.     def peek(self):
  12.         # 查看栈顶元素
  13.         return self.item[self.size()-1]

  14.     def is_empty(self):
  15.         # 检验是否为空栈
  16.         return self.item == []

  17.     def size(self):
  18.         # 返回栈中元素个数
  19.         return len(self.item)
复制代码


用栈来实现斐波那契数列:

  1. FN = Stack()
  2. user_input = int(input())
  3. for n in range(user_input):
  4.     if n <= 1:
  5.         FN.push(1)
  6.     else:
  7.         F2 = FN.pop()
  8.         F1 = FN.peek()
  9.         FN.push(F2)
  10.         FN.push(F1 + F2)
  11. print(FN.item)
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2021-5-18 15:17:36 | 显示全部楼层
Twilight6 发表于 2021-5-18 13:02
用 Python 写了栈类:

谢谢大佬 有c语言版的嘛
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-5-18 17:16:00 | 显示全部楼层
omg123460 发表于 2021-5-18 15:17
谢谢大佬 有c语言版的嘛



哈哈 没学 C 抱歉

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-28 06:39

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表