有一列数的排列是如下 1,2,2,3,4,6,9,14,22,35,…… 依次类推下去,请你找到规律并求出这个数列第n项。 【输入格式】 一行一个自然数 n(n<=20)。 【输出格式】 只有 1行一个整数,表示数列的第n项C++
时间: 2024-06-02 08:08:49 浏览: 187
Dev-C++求斐波那契数列第n项
观察数列可以发现,从第3项开始,每一项都是前两项之和,也就是说,这是一个斐波那契数列,只不过初始值不同而已。
而初始值是 1,2,2,3,4,6,9,14,22,35,可以看出第一项是1,第二项是2,第三项是2,第四项是3,第五项是4,第六项是6,第七项是9,第八项是14,第九项是22,第十项是35,也就是说,这个数列的初始几项是斐波那契数列的初始几项,只是第二项从1变成了2。
因此,这个数列的第n项可以用斐波那契数列的通项公式求解:
$$F_n = \frac{1}{\sqrt{5}}(\frac{1+\sqrt{5}}{2})^n - \frac{1}{\sqrt{5}}(\frac{1-\sqrt{5}}{2})^n$$
由于这个数列的第二项是2而不是1,因此我们需要将公式中的 $F_1$ 用2替代:
$$C_n = \frac{1}{\sqrt{5}}(\frac{1+\sqrt{5}}{2})^n - \frac{1}{\sqrt{5}}(\frac{1-\sqrt{5}}{2})^n + 1$$
代码如下:
阅读全文