费布拉切数列又称黄金分割数列,指的是这样一个数列:1 1 2 3 5 8 13 21....

实现费布拉切数列的方法有两种,一种是以数组下标的形式,arr[i]=arr[i-1]+arr[i-2];arr[0]=1;

arr[1]=0;

代码:

#include<stdio.h>intmain(){intarr[12];inti;arr[0]=1;arr[1]=1;for(i=2;i<12;i++){arr[i]=arr[i-1]+arr[i-2];}for(i=0;i<12;i++){printf("%d",arr[i]);}return0;}

第二种方法中使用了交换数的原理,f3=f1+f2;f1=f2,f2=f3

代码:

#include<stdio.h>intFib(intnum){intf1=1,f2=1,f3=2;if(num<3){return1;}else{num=num-2;while(num){f3=f1+f2;f1=f2;f2=f3;num--;//printf("%d",f3);}}returnf3;}intmain(){intnum=8;intret=Fib(num);printf("%d",ret);return0;}