???6.4 递归

Posted: March 25, 2011 in C++

/*函数可以调用自身,这被称为递归. 递归分直接递归和间接递归.
直接递归: 函数调用自身.
间接递归: 函数调用了另一个函数, 而后者又调用了它.

需要注意的是:函数调用自身时, 系统将在内存创建该函数的是一个新副本.
新副本与前一个副本中的局部变量彼此独立, 他们之间不会彼此直接影响.

使用递归时, 系统将不断分配内存, 内存将被耗尽; 返回时, 内存被释放.

比如使用递归计算:1,2,3,5,8,13,21,34,55……..
相邻的2个数之和试下一个数.即第四个数是第三个数+第二个数,即n=(n-1)+(n-2)
*/

#include <iostream>
int fib(int n);
using namespace std;

void main()
{
           int n, answer;

           cout<<“Enter a number to find: “;
           cin>>n;

           answer=fib(n);
           cout<<endl<<“answer “<<answer<<” is the “<<n<<“th Fibonacci number”<<endl;
}

int fib(int n)
{
            if(n=1)return (1);
            else if(n=2)return (2);
            else return (fib(n-2)+fib(n-1));
}

目前此程序无法达到预期执行的效果, 问题原因尚未找到, 因而无法正确执行…..

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s