标题:求助~一个题目希望各位帮忙解答下
只看楼主
月满西楼
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2011-4-9
结帖率:0
已结贴  问题点数:20 回复次数:2 
求助~一个题目希望各位帮忙解答下
Fibonacci数列的生成方法为:F1=1,F2=1,fn=Fn-1+Fn-2(n>=3),即从第3个数开始,每个数等于前2个数之和。分别用递推和递归的方法求Fibonacci数列的前n项,即Fn,并对两方法的计算效率进行比较。
以上是题目 只要写出代码就好了哦
就像下面这个例子一样  
#include<stdio.h>
void main()
{
int i,n=2;  
 long f1=1,f2=2,f3;
 printf("%15d   %15d   %15d",f1,f2);
 for(i=3;i<=40;i++)
{
f3=f1+f2;
 printf("%15d",f3);
f1=f2;
f2=f3;
 n++;
}
if(n%5==0)
   printf("\n");
}
搜索更多相关主题的帖子: long void include 
2011-04-09 15:26
qianyangwu
Rank: 2
等 级:论坛游民
帖 子:7
专家分:16
注 册:2011-4-10
得分:10 
#include<stdio.h>
int main(void)
{
    int i,x1,x2,x;
    x1=1;
    x2=1;
    printf("%5d%5d",x1,x2);
    for(i=1;i<=8;i++){
        x=x1+x2;
        printf("%5d",x);
        x1=x2;
        x2=x;
    }
    return 0;
}
2011-04-11 10:59
a85703559
Rank: 2
等 级:论坛游民
帖 子:22
专家分:43
注 册:2011-4-11
得分:10 
递推:
#include <stdio.h>
int main(void)
{
    int i, f1, f2, f, x;
    scanf("%d", &x);
    f1 = 1;
    f2 = 1;
    printf("%d %d ", f1, f2);
    for (i = 3; i <= x; i++)
    {
        f = f1 + f2;
        f1 = f2;
        f2 = f;
        printf("%d ", f);
    }
    return 0;
}
递归:
#include <stdio.h>
int main(void)
{
    int Fibonacci(int n);
    int i, x, f;
    scanf("%d", &x);
    for (i = 1; i <= x; i++)
    {
        f = Fibonacci(i);
        printf("%d ", f);
    }
    return 0;
}
int Fibonacci(int n)
{
    int t;
    if (n ==1)
        t = 1;
    else
        if (n == 2)
            t = 1;
        else t = Fibonacci(n - 1) + Fibonacci(n - 2);
        return t;
}
2011-04-11 13:09



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-336088-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024742 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved