用数组求黄金数列
时间: 2023-12-03 09:43:41 浏览: 17
黄金数列是指一个数列,它的第n项是前一项和前两项的和,即:
f(n) = f(n-1) + f(n-2)
而且f(1)=1,f(2)=1。
用数组求黄金数列可以使用以下代码实现:
```c++
#include <iostream>
using namespace std;
int main() {
int n;
cout << "请输入你要求的黄金数列的项数:";
cin >> n;
int f[n];
f[0] = f[1] = 1;
for (int i = 2; i < n; i++) {
f[i] = f[i-1] + f[i-2];
}
cout << "黄金数列的前" << n << "项为:";
for (int i = 0; i < n; i++) {
cout << f[i] << " ";
}
return 0;
}
```
在这个程序中,我们首先输入我们想要求的黄金数列的项数,然后定义一个长度为n的数组f,将第一项和第二项赋值为1,最后使用循环计算数组中其他项的值,并输出结果。
相关问题
斐波那契数列(Fibonacci sequence),又称黄金分割数列,其数值为:1、1、2、3、5、8、13、21、34…… - 求数列的前30项 - 打印出数列的值,每5个数字为一行 用c 的数组写
斐波那契数列(Fibonacci sequence),又称黄金分割数列,其数值为:1、1、2、3、5、8、13、21、34……
要求数列的前30项,可以使用C语言的数组来实现。以下是一个示例代码:
```c
#include <stdio.h>
int main() {
int fibonacci[30];
fibonacci[0] = 1;
fibonacci[1] = 1;
for (int i = 2; i < 30; i++) {
fibonacci[i] = fibonacci[i - 1] + fibonacci[i - 2];
}
// 打印出数列的值,每5个数字为一行
for (int i = 0; i < 30; i++) {
printf("%d ", fibonacci[i]);
if ((i + 1) % 5 == 0) {
printf("\n");
}
}
return 0;
}
```
注意,在上述代码中,我们使用一个长度为30的整型数组 `fibonacci` 来存储斐波那契数列的前30项。然后,我们使用循环递推计算每一项的值,并将结果打印出来,每5个数字为一行。
以下是数列的前30项:
1 1 2 3 5
8 13 21 34 55
89 144 233 377 610
987 1597 2584 4181 6765
10946 17711 28657 46368 75025
2.用数组的方法,求Fibonacci数列的前20项。 斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐波那契数列以如下被以递推的方法定义:F(1)=1,F(2)=1, F(n)=F(n - 1)+F(n - 2)(n ≥ 3,n ∈ N*)
好的,下面是使用数组来计算斐波那契数列前20项的 C++ 代码示例:
```cpp
#include <iostream>
using namespace std;
int main() {
int fib[20];
fib[0] = 1;
fib[1] = 1;
for (int i = 2; i < 20; i++) {
fib[i] = fib[i-1] + fib[i-2];
}
for (int i = 0; i < 20; i++) {
cout << fib[i] << " ";
}
cout << endl;
return 0;
}
```
输出结果为:
```
1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765
```
在这个代码中,我们首先创建了一个数组 `fib`,用来存储斐波那契数列的前20项。然后,我们设置了前两项 `fib[0]` 和 `fib[1]` 的值为1,接着使用循环计算了剩余的项,并将它们存储在数组中。最后,我们再次使用循环输出了整个数组。