fibonacci数列与黄金分割c
时间: 2024-09-12 22:12:15 浏览: 40
Fibonacci数列是一个非常著名的数列,它的每一项都是前两项的和,即F[n] = F[n-1] + F[n-2],其中F = 0,F = 1。而黄金分割是一个数学上的概念,指的是将一条线段分成两部分,使其中一部分与全长之比等于另一部分与这部分之比。这个比值约等于1.6180339887,被称为黄金分割比例。而Fibonacci数列有一个特殊的性质,前一项与后一项的比值,F[i]/F[i + 1],会趋近于黄金分割。因此,我们可以通过计算F[N]/F[N + 1]来验证这一性质。
下面是一段C++代码,可以计算F[N]/F[N + 1]并保留8位小数。其中,f数组存储了Fibonacci数列的前50项。
```
#include<iostream>
#include<bits/stdc++.h>
using namespace std;
long long f[100];
int main() {
f[1]=1;
f[2]=1;
for(int i=3;i<=50;i++) {
f[i]=f[i-1]+f[i-2];
}
int n;
cin>>n;
if(n>25) cout<<"0.61803399"<<endl;
else printf("%.8lf\n",f[n]*1.0/f[n+1]);
return 0;
}
```
相关问题
斐波那契数列(Fibonacci sequence),又称黄金分割数列,其数值为:1、1、2、3、5、8、13、21、34…… - 求数列的前30项 - 打印出数列的值,每5个数字为一行 用c写
斐波那契数列(Fibonacci sequence),又称黄金分割数列,其前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、121393、196418、317811、514229、832040。
以下是用C语言打印出数列值,每5个数字为一行的代码:
```c
#include <stdio.h>
void printFibonacci(int n) {
int a = 1, b = 1, c;
for (int i = 1; i <= n; i++) {
printf("%d ", a);
if (i % 5 == 0) {
printf("\n");
}
c = a + b;
a = b;
b = c;
}
}
int main() {
printFibonacci(30);
return 0;
}
```
斐波那契数列(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
阅读全文