打印斐波那契(Fibonacci)数列

来源:互联网 发布:图形算量软件 编辑:程序博客网 时间:2024/05/16 08:38

需求:打印 Fibonacci数列

思路:
当前项的值等于前两项数值的和
F=(F-1)+F(F-2)

样例:
输入:10
输出:1 1 2 3 5 8 13 21 34 55

辗转相加法实现

#include<stdio.h>int main(){    int num, f, f1, f2, i;    scanf("%d", &num);    //用户输入打印的次数    f1 = f2 = 1;        for(i = 1; i <= num; i++)    //打印的次数    {        if(i==1 || i==2)    //第一项第二项数值都是 1            printf("%d  ", f1);        else                {                f = f1+f2;                f1 = f2;    //    移动数值                                f2 = f;                printf("%d  ", f);            }    }    return 0; } 

递归实现

#include<stdio.h>int fibo(int);int main(){    int num, i;    scanf("%d", &num);    for(i = 1; i <= num; i++)        printf("%d  ", fibo(i));    return 0; } int fibo(int n){    if(n==1 || n==2)        return 1;    else        return fibo(n-1)+fibo(n-2);}
0 0
原创粉丝点击