C程序-斐波纳契数列

斐波纳契数列(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;
}

猜你喜欢

转载自blog.csdn.net/qq_40788199/article/details/84723806
今日推荐