| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 484 人关注过本帖
标题:斐波那契数列
只看楼主 加入收藏
fydgo
Rank: 2
等 级:论坛游民
帖 子:57
专家分:10
注 册:2009-4-10
结帖率:73.33%
收藏
已结贴  问题点数:10 回复次数:2 
斐波那契数列
我想求斐波那契数列的2的8次方之前的数是多少?这是我写的代码,用递归写的,但结果总错,为什么?对递归不太熟,请指教
#include <stdio.h>
#include <math.h>
long fibonacci(long f1,long f2)
{
   long n;
   n=f1+f2;
   if(n<pow(2,8))
   fibonacci(f2,f1+f2);
   return n;
 }

main()
{
    long f1;
    long f2;
    f1=f2=1;
    printf("%ld",fibonacci(f1,f2));
}
搜索更多相关主题的帖子: include 
2009-10-15 21:46
sen_lin
Rank: 6Rank: 6
等 级:侠之大者
威 望:3
帖 子:114
专家分:436
注 册:2009-3-24
收藏
得分:5 
#include <stdio.h>
#include <math.h>
long fibonacci(long f1,long f2)
{
   long n;
   n=f1+f2;
   f1=f2;
   f2=n;
   if(n<pow(2,8))
   return fibonacci(f1,f2);
   return f1;
}
 
main()
{
    long f1;
    long f2;
    f1=f2=1;
    printf("%ld",fibonacci(f1,f2));
}
你那程序没有理解递归的含义
2009-10-15 22:29
m456m654
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:783
专家分:2806
注 册:2009-9-17
收藏
得分:5 
也可以借助这个看看:
#include <stdio.h>
#include <math.h>
long f(long n)
{
   long t;
   if(n==1)
   t=1;
   else if(n==2)
   t=1;
   else
    t =f(n-1)+f(n-2);
 
   return t;
}
 
main()
{
   long  i;
 
   for(i=1;i<20;i++)
   if(f(i)<pow(2,8)&&f(i+1)>pow(2,8))
   {
   printf("%ld  ", f(i));
   break;
   }
}
2009-10-15 22:36
快速回复:斐波那契数列
数据加载中...
 
   



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

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