c - 如何在没有 vector/递归的情况下为类似斐波那契的序列编写 C 程序?

标签 c math logic

我试图实现的数列与斐波那契数列类似,但不是第 N 个数字是 N-1 + N-2 我们有一个 K 值和第 N 个数字将是 N-1 + N-2 + ... + N-K

我想编写一个 C 程序,以 KN 作为输入,编写直到第 N 个数字的序列。它不得使用 vector 或递归。

更新:

没有可能的解决方案,这是一个证明 vector (数组)成为某些问题的解决方案的必要性的练习。

最佳答案

您需要某种存储(至少)以前的 K 值,我认为您问题的症结在于您可以为此使用什么。

您不能使用调用堆栈/函数参数,因为您不能递归。你不能使用“vector ”,我想你的意思是一个数组。使用单个局部变量会非常困惑,而且这样做根本不可行,除非 K 可能采用的值有一个非常低的界限。我看到的唯一选择是

  1. 一些链表的风格。 (但要小心——链表可能被认为是一个非常宽松的术语意义上的“vector ”。)
  2. 一个外部文件。 (恶心!)

这个练习可能与您在类里面学习的内容有关,因此您应该可以了解教师的想法。

我将实际实现留作练习。

关于c - 如何在没有 vector/递归的情况下为类似斐波那契的序列编写 C 程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39648802/

相关文章:

c - `struct task_struct current` 的兄弟总是包含一个 `pid = 0` 的进程

math - C++ 中代数数的算术包?

c# - 反转数学函数

algorithm - 给定一串数字和多个乘法运算符,可以计算出的最大数字是多少?

c - 培养对 waitpid() 和 getpid() 的正确理解

c - 使用DP算法降低Knapsack 0~1的时间复杂度

javascript - 如何通过组帐户使用 Google Script 发送电子邮件

javascript - 亚里士多德三段论......用Javascript?

c - 使用高 CPU 确定窗口是否可见

序言。如何检查两个数学表达式是否相同