斐波那契数数列
2016-06-09
有的读者可能已经发现了,0.618 不是别的数,正是神秘的黄金分割;而上表中出现的系数 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, … 正是传说中的斐波那契数列。算术中最富神秘色彩的两个概念在此交织,看来这个简单小魔术的来头并不简单啊。
技术人员用程序来证明上面的观点:
#include<stdio.h> #define N 30 /* how number */ /********************************************************************** * function name : main * function description : main function * input parameter : no * output parameter : no * return value : 0 - succeed , other - failure * modify date , version number , modifier , modify content * -------------------------------------------------------------- * 2013/02/08 V1.0 zhangliu create ***********************************************************************/ int main(int argc,char **argv) { int a=3,b=7,i; float x,y; int buff[N]; buff[0]=a; buff[1]=b; /* testify :a and b value for size of b/a is unconcerned */ for(i=2;i<N;i++) { buff[i]=buff[i-1]+buff[i-2]; } for(i=0;i<N-1;i++) { x=buff[i]; y=buff[i+1]; printf("b/a=%f\n",x/y); /* N more big ,ratio is close to 0.618 */ } return 0; }
运行结果:
b/a=0.428571 b/a=0.700000 b/a=0.588235 b/a=0.629630 b/a=0.613636 b/a=0.619718 b/a=0.617391 b/a=0.618280 b/a=0.617940 b/a=0.618070 b/a=0.618020 b/a=0.618039 b/a=0.618032 b/a=0.618035 b/a=0.618034 b/a=0.618034 b/a=0.618034 b/a=0.618034 b/a=0.618034 b/a=0.618034 b/a=0.618034 b/a=0.618034 b/a=0.618034 b/a=0.618034 b/a=0.618034 b/a=0.618034 b/a=0.618034 b/a=0.618034 b/a=0.618034
证明结果:循环的次数越大,越接近黄金分割点。与第一项和第二项值无关。