斐波纳契数列(Fibonacci Sequence)又称黄金分割数列,指的是这样一个数列:1、1、2、3、5、8、13、21、……在数学上,斐波纳契数列以如下被以递归的方法定义:F0=0,F1=1,Fn=F(n-1)+F(n-2)(n>=2,n∈N*)在现代物理、准晶体结构、化学等领域,斐波纳契数列都有直接的应用,为此,美国数学会从1960年代起出版了《斐波纳契数列》季刊,专门刊载这方面的研究成果。
#include <stdio.h>
int Fibonacci(int n)//用递归法计算斐波那契数列的第n项
{
if(n==1||n==2)//第一第二项都是1,也是递归结束标志
return 1;
else
return Fibonacci(n-1)+Fibonacci(n-2);//// 如果是求其它项,先要求出它前面两项,然后做和
}
int Fibonacci_1(int n)//输出斐波那契数列的每一项
{
int i,j;
int f1=1,f2=1;//初始化f1,f2
for(i=1;i<=(n+1)/2;i++)
{
printf("%d %d ",f1,f2);//每次输出两项
f1=f1+f2;
f2=f1+f2;//公式
if(i%10==0)//换行,10个数一行
printf("\n");
}
}
int main( )
{
int n;
scanf("%d",&n);
printf("Result: %d\n",Fibonacci(n));
Fibonacci_1(n);
return 0;
}