gpt4 book ai didi

algorithm - 在 6 流程图 "balloons"中调整斐波那契 ?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:52:31 25 4
gpt4 key购买 nike

所以我有一个家庭作业是制作打印斐波那契数列前 N 项的算法流程图。当然,这并不难,但是老师告诉我们这可以用最少六个流程图“气球”来完成。这就是问题所在——我想这样做,但我似乎做不到……也就是说,我认为最短的方法是检查是否 N>2——如果不是,我们必须检查是否它是 1 或 2,分别打印 0 或 1。只有在那之后,我们才能使用“常规”F(n)=F(n-1)+F(n-2) 公式 - 否则,它会崩溃。更正式地写法:

  1. 输入N
  2. N>2?
    • 否:检查是否为1,如果是,则打印0并停止。
    • 否:检查是否为2。如果是,则打印0和1并停止。
    • 是:继续 3
  3. 设 i=3。当 i < N: fib(i)=fib(i-1)+fib(i-2) 并打印 fib(i)。
  4. 停止。

问题是,我想制作这个需要大约 10 个盒子,如果不是更多的话。那么更短的方法是什么?我在网上找到的所有算法都倾向于假设我们只会得到 N 多于 2,但事实可能并非如此。你能帮忙吗?

编辑:好的,我将它调整为 8 个盒子,并且认为它是尽可能少的。像这样:

  1. 输入N
  2. 令 older=0,younger=1(分别为:系列的第 (n-2) 和 (n-1) 项),current=1,i=2。
  3. 是否 N<=1?
    • 是:输出older,end。
    • 否:继续4
  4. 输出越老越年轻。
  5. 我 < N?
    • 是:当前 = 年长 + 年轻,年长 = 年轻,年轻 = 当前,i+=1。打印当前,转到5。
    • 否:结束。

这里可以进一步调整吗?

最佳答案

  1. 输入N
  2. 让 (x1, x2) = (0, 1)
  3. N ≤ 0 吗?
    • 是:停止
    • 否:继续第 4 步
  4. 打印 x1
  5. 令 (x1, x2, N) = (x2, x1> + x2, N - 1), 继续第 3 步。

如果“停止”需要成为它自己的步骤,那就是第 6 步。

关于algorithm - 在 6 流程图 "balloons"中调整斐波那契 ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12881435/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com