| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1780 人关注过本帖
标题:一个简单的递归,最后有点看不懂。斐波那契数列.
取消只看楼主 加入收藏
ZZlove
Rank: 2
等 级:论坛游民
帖 子:29
专家分:28
注 册:2010-3-7
结帖率:25%
收藏
已结贴  问题点数:20 回复次数:5 
一个简单的递归,最后有点看不懂。斐波那契数列.
#include"stdio.h"
int fn(int a);
void main()
{
     int sum,n;
     scanf("%d",&n);
     sum=fn(n);
     printf("%d",sum);
     }
     int fn(int a)
     {
     if(a<=2&&a>0)
     {
                  return 1;
                  }
                  else if(a>2)
                  {a=fn(a-1)+fn(a-2);      为什么是 a=fn(a-1)+fn(a-2);不是应该是fn(a)=fn(a-1)+fn(a-2)么?
                  return a;}              
                  }
搜索更多相关主题的帖子: 递归 
2010-05-28 13:18
ZZlove
Rank: 2
等 级:论坛游民
帖 子:29
专家分:28
注 册:2010-3-7
收藏
得分:0 
嗯,知道了,a=fn(a-1)+fn(a-2); 等号前的a可以自己随便定义个别个字符对吗?我试了试编译通过了。。。。
但我把代码改了改,想求斐波那契数列.的前n项的和,加了几行,但求出来的却只是fn(n-1)和fn(n)的和,请帮忙。
#include"stdio.h"
int fn(int a);
void main()
{
     int sum,n,i,m;
     scanf("%d",&n);
     sum=fn(n);
     printf("%d\n",sum);
     for(i=1;i<=n;i++)      // 就加了这四行。              
     m=0;
     m+=fn(i);
     printf("%d",m);        //
     getch();
     }
     int fn(int a)
     {
     if(a<=2&&a>0)
     {
                  return 1;
                  }
                  else if(a>2)
                  {a=fn(a-1)+fn(a-2);
                  return a;}
                  }
2010-05-28 13:53
ZZlove
Rank: 2
等 级:论坛游民
帖 子:29
专家分:28
注 册:2010-3-7
收藏
得分:0 
回复 2楼 lijm1989
嗯,知道了,a=fn(a-1)+fn(a-2); 等号前的a可以自己随便定义个别个字符对吗?我试了试编译通过了。。。。
但我把代码改了改,想求斐波那契数列.的前n项的和,加了几行,但求出来的却只是fn(n-1)和fn(n)的和,请帮忙。
#include"stdio.h"
int fn(int a);
void main()
{
     int sum,n,i,m;
     scanf("%d",&n);
     sum=fn(n);
     printf("%d\n",sum);
     for(i=1;i<=n;i++)      // 就加了这四行。              
     m=0;
     m+=fn(i);
     printf("%d",m);        //
     getch();
     }
     int fn(int a)
     {
     if(a<=2&&a>0)
     {
                  return 1;
                  }
                  else if(a>2)
                  {a=fn(a-1)+fn(a-2);
                  return a;}
                  }
2010-05-28 14:00
ZZlove
Rank: 2
等 级:论坛游民
帖 子:29
专家分:28
注 册:2010-3-7
收藏
得分:0 
回复 3楼 myhnuhai
那求这个数列的和该怎么做?
2010-05-28 14:00
ZZlove
Rank: 2
等 级:论坛游民
帖 子:29
专家分:28
注 册:2010-3-7
收藏
得分:0 
回复 7楼 lijm1989
可以给我解释一下 for(i=1;i<=n;i++)和m=0;
                              m=0;                 for(i=1;i<=n;i++);            
                             m+=fn(i);             m+=fn(i);
的区别吗?特别是第一个凡for语句是怎么执行的?
2010-05-30 10:57
ZZlove
Rank: 2
等 级:论坛游民
帖 子:29
专家分:28
注 册:2010-3-7
收藏
得分:0 
回复 9楼 lijm1989
循环体就是要循环的部分?那循环体下面那句是什么?它不也参与循环吗?
2010-05-30 23:27
快速回复:一个简单的递归,最后有点看不懂。斐波那契数列.
数据加载中...
 
   



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

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