鱼C论坛

 找回密码
 立即注册
查看: 6163|回复: 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 写了栈类:
class Stack(object):
    def __init__(self):
        # 初始化空栈
        self.item = []

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

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

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

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

    def size(self):
        # 返回栈中元素个数
        return len(self.item)

用栈来实现斐波那契数列:
FN = Stack()
user_input = int(input())
for n in range(user_input):
    if n <= 1:
        FN.push(1)
    else:
        F2 = FN.pop()
        F1 = FN.peek()
        FN.push(F2)
        FN.push(F1 + F2)
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-12-22 22:10

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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