我很难理解这个问题的解决方案:
我们将编写一个函数来生成前 M 个 N-Bonacci 数。例如,如果 N = 2,那么这是斐波那契数列 {0, 1, 2, 3, 5 ... }。如果 N = 3,则每个元素都是前 3 个数字 {0, 0, 1, 1, 2, 4, 7, ... } 的总和。
根据这个问题的解,第 i 个 N-Bonacci 数,等于
nbonacci[i] = nbonacci[i - 1] + nbonacci[i - 1] - nbonacci[i - N - 1]
有人可以解释一下这个想法是如何产生的吗?我知道这是一个动态编程问题,我只是不明白如何自己想出这个公式。那么在高层次上,你到底是怎么想的呢?