斐波那契數列(Fibonacci)(黃金分割)
目錄:
- 斐波那契數列(Fibonacci)1. 斐波那契數列 與 黃金分割 ##### 一、斐波那契數列
斐波那契數列
(Fibonacci sequence),又稱黃金分割數列
、因數學家列昂納多·斐波那契(Leonardoda Fibonacci)以兔子繁殖為例子而引入,故又稱為“兔子數列”
。 指的是這樣一個數列:1、1、2、3、5、8、13、21、34、……
程序1………………………………
#include<stdio.h>
#define N 30
int main()
{<!-- -->
int i; // N最大取46
int f[N]={<!-- -->1,1};
for(i=2;i<=N;i++)
f[i]=f[i-2]+f[i-1];
for(i=0;i<N;i++)
{<!-- -->
if(i%5==0) printf("\n"); //第一行 0%0=0 換行
printf("%12d",f[i]);
}
printf("\n");
return 0;
}
運行結果……………………………… 程序2………………………………
#include<stdio.h>
#define N 50
int main()
{<!-- -->
int i;
long long int f[N]={<!-- -->1,1};
for(i=2;i<=N;i++)
f[i]=f[i-2]+f[i-1];
for(i=0;i<N;i++)
{<!-- -->
if(i%5==0) printf("\n"); //第一行 0%0=0 換行
printf("%12lld",f[i]);
}
printf("\n");
return 0;
}
運行結果………………………………
二、Fibonacci與黃金分割
黃金分割是指將整體一分為二,較大部分與整體部分的比值等於較小部分與較大部分的比值,其比值約為0.618。這個比例被公認為是最能引起美感的比例,因此被稱為黃金分割。
數學定義:比值(√5-1):2,近似值為0.618
程序………………………………
#include<stdio.h>
#define N 50
int main()
{<!-- -->
int i;
long long int f[N]={<!-- -->1,1};
for(i=2;i<=N;i++)
f[i]=f[i-2]+f[i-1];
for(i=0;i<N;i++)
{<!-- -->
if(i%5==0) printf("\n"); //第一行 0%0=0 換行
printf("%12lld",f[i]);
}
printf("\n\n");
for(i=0;i<N;i++)
{<!-- -->
printf("%12.6f",1.0*f[i]/f[i+1]);
if(i%5==0) printf("\n");
}
printf("\n");
return 0;
}
運行結果………………………………