永发信息网

c++中什么是递归函数

答案:4  悬赏:40  手机版
解决时间 2021-02-26 13:49
c++中什么是递归函数
最佳答案
在数学上,关于递归函数的定义如下:对于某一函数f(x),其定义域是集合A,那么若对于A集合中的某一个值X0,其函数值f(x0)由f(f(x0))决定,那么就称f(x)为递归函数。 在编程语言中,把直接或间接地调用自身的函数称为递归函数。函数的构建通常需要一个函数或者一个过程来完成。

递归函数 是建立在嵌套的基础上的,只不过嵌套调用了自己本身,而且经常不是显式调用。

一个含直接或间接调用本函数语句的函数被称之为递归函数,它必须满足以下两个条件:
1) 在每一次调用自己时,必须是(在某种意义上)更接近于解;
2) 必须有一个终止处理或计算的准则。

/////////////////////////如一个非法的递归(嵌套)调用:
void ff(){
ff();
}

int main()
{
ff();
system("pause");
return 0;
}

//////////////////////////////斐波那契数列的递归解法
/////////////////////////写法虽然简单,但是效率不高。

#include

//Fibonacci sequence
int GetFibnRes(int n){
if (n>1) {
return GetFibnRes(n-1) + GetFibnRes(n-2);
}
if (n<0) {
cout<<"uneffective parameter!"< return -1;
}
return n;
}
int main(){
int n;
int res;

while (1) {
cout<<"Please input Fibonacci Sequence's number"< cin>>n;
res=GetFibnRes(n);
cout< system("pause");
}
return 0;
}
全部回答

在数学上,关于递归函数的定义如下:对于某一函数f(x),其定义域是集合A,那么若对于A集合中的某一个值X0,其函数值f(x0)由f(f(x0))决定,那么就称f(x)为递归函数。 在编程语言中,把直接或间接地调用自身的函数称为递归函数。函数的构建通常需要一个函数或者一个过程来完成。
递归函数 是建立在嵌套的基础上的,只不过嵌套调用了自己本身,而且经常不是显式调用。
一个含直接或间接调用本函数语句的函数被称之为递归函数,它必须满足以下两个条件:
1) 在每一次调用自己时,必须是(在某种意义上)更接近于解;
2) 必须有一个终止处理或计算的准则。
/////////////////////////如一个非法的递归(嵌套)调用:
直接或间接调用自身的函数。
递归就是一个函数内出现调用本身的现象,举个最简单的例子,求阶乘:
当n=0或1时,n!=1;当n>1时,n!=n*(n-1)!通过这样的思想,程序写为:
int fun(int n)
{
if(n<2)
return 1;
else
return n*fun(n-1);
}
看到了fun函数内调用了它本身fun,可以想象一步步下去就可以得到计算结果。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
我们两个人在一起特别喜欢斗气,知道彼此喜欢
如图是某草原生态系统中部分食物网简图,据图
武汉迪雅曼服饰怎么去啊,有知道地址的么
临江仙(走遍人间无一事 )全文是什么啊 ?多
北京朝阳哪里注册商标
无论是害您还是救您,只消一点点事 这句话是莫
怎样判断宾语从句的语序?
艺术培训学校取名
菲律宾工作证要回国要交什麼费,在哪里交,出
火寺路/Y856(路口)怎么去啊,有知道地址的么
生意最近特别差怎么办,愁死我了
刚学的一元二次方程求解
过寒菜的由来
罪恶都市修改器
酷家乐能进行庭院设计吗?
推荐资讯
木头开裂沾水能愈合吗
为什么在网上买狗 要求狗场直接开视频 那边说
beach towel with bog 一客人发来这个询价,哪
谁能准确的告诉我,海口的高铁站是和火车站在
【什么是算法】什么是算法?算法的概念?算法的
酷我k歌录音完怎么保存下来啊
macbook air dock Launchpad图标被删除了怎么
什么不止成语
匀变速直线运动定义 沿着一条直线,且加速度不
微信信用卡怎么申请
先咳嗽几天然后就感冒流鼻涕了,怎么回事?吃
描写自然景色的诗句
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?