三九宝宝网宝宝百科宝宝知识

列举一个简单且精辟的C中函数递归的例子

02月27日 编辑 39baobao.com

[请用一个简单的例子讲解一下vb的类]下面这是一个很简单的例子,在窗体上放一个文本框用于输入数字,一个标签用于显示结果,再放一个按钮.创建的类代码如下: Public Class xrhigh '创建的类 Public Sub display(ByVal...+阅读

这是猴子吃桃问题。使用了平常方法和递归的方法。从中可以看出它们有什么区别。在代码简练与性能上的对比。原题:有一只猴子吃一堆果子,已知每天吃昨天剩下的果子的一半再多一个,直到第10天才吃完。问原来这堆果子有多少个?#includeusing namespace System;int countFun(int n)

{

if(n==0)

return 0;

if(n>0)

return 2*(countFun(n-1)+1);

}int main()

{

//方法一

printf("%d\n", countFun(10));

//方法二

int i,s=0;

for(i=10;i>0;i--)

{ s=2*(s+1);

printf("s=%d\n",s);} return 0;

}

c语言中什么是函数的递归能举个例子么

所谓递归,说的简单点,就是函数自己调用自己,然后在某个特定条件下。结束这种自我调用。

如果不给予这个结束条件,就成了无限死循环了。这样这个递归也就毫无意义了。

如下面问题

1 1 2 3 5 8 13 21 ........n

分析可以看出, i 表示第几个数, n 表示该数的值

当i = 1 时, n = 1;

当i = 2 时, n = 1;

当i = 3 时 n = i1 + i2;

当i = 4 时 n = i2 + i3

所以可以写个函数

int fun(int n) // 这里的n代表第几个数

{

if(1 == n || 2 == n) // 第一个数

{

return 1;

}

else

{

return fun(n - 1) + fun(n - 2); // 这里就是自己调用自己,形成循环自我调用。

}

}

注: 以上代码只是用来演示递归,不包含错误校验。

在实际生产过程中。该代码不够健壮。

如此,就完成了递归。你就可以求得第n个数了。

何时考虑使用递归。

当你分析一个问题的时候,发现这个问题,是一个自我循环时,而且这个自我循环到一个给定值,就可以终止的时候,你就快要考虑递归了。

求递归函数的例子解析

刚才回答了一次了:

求1+2+……+100的和

先分析一下。第一递归变量的问题,从题目上看应该取1,2,……,100这些变量的值作为递归的条件;第二就是如何终止的问题,从题目上看应该是当数为100的时候就不能往下加了。那么我们试着写一下程序。

int add(int);

main()

{

int num=1,sn;

sn=add(num);

printf("%d\n",sn);

getch();

}

int add(int num)

{

static int sn;

sn+=num;

if(num==100) return sn;

add(++num);

}

分析一下程序:前调用add(1),然后在子函数中把这个1加到sn上面。接着调用add(2),再把sn加2上来。这样一直到100,到了100的时候,先加上来,然后发现满足了if条件,这时返回sn的值,也就是1+2+……+100的值了。

c程序设计递归函数举例

递归调用即自己调用自己,与其他嵌套调用无本质区别,即在自身函数中再嵌套一个自身函数;例如计算6+7+6+7+8,可编程如下: #include int fib(int a,int b); void main() { int a=6; int b=7; int c=8; int s; s=fib(a,b)+fib(fib(a,b),c);//fib(fib(a,b),c)为递归调用 cout<

将s=fib(a,b)+fib(fib(a,b),c);改为s=fib(fib(a,b),c)即是计算6+7+8的值 自认为是世上最简单的递归调用了,相信你能明白

以下为关联文档:

当函数发生递归调用时同一个局部变量在不同程度上可以同时存在你在源代码中看到的一个局部变量,其实在函数递归过程中是存在很多副本的。 比如,你在源代码中看到一个一个局部变量 a 其实在函数递归掉用的时候,每调用一次都会在所调用函数的...

C中字符串能否作为函数的参数当然可以,为什么这么问,你出错了? //std::string转int方法 int stoi(string s) { int i; stringstream ss; ss ss >>i; ss.clear(); return i; } //给你贴个用string 做参数的...

请教一个C有关虚函数的问题我的理解是:你太难为编译器了!void fun(B&obj),你把obj申明为基类,在基类中show()方法是可访问的,合法的。虚函数的特性就是在程序执行时才确定入口,因为obj是派生类,obj->show()在执...

一个c虚函数与this指针的问题1.不可以。2.是。3.是。你这个疑问就实际上涉及到了编译技术。this指针你会发现他是C++的关键字,而不是在那个头文件里声明的变量。也就是说,this指针并不是一个真实存在的C++...

概率密度函数的例子最简单的概率密度函数是均匀分布的密度函数。对于一个取值在区间[a,b]上的均匀分布函数 ,它的概率密度函数: 也就是说,当x不在区间[a,b]上的时候,函数值等于0;而在区间[a,b]上的...

结合生活实际列举一个相互合作取得成功的例子并写出自己的感悟我和小A在一加公司做项目主管,经理给了公司一个项目.酬劳很高.我的擅长方面是人脉.而小A擅长的方面是策划.并且我们是我们着家公司最被上司重视的人. 如果说我一个人自己做的...

求护士应聘自荐书字数500以上且要精辟这有份模板,跟这个改一下。书面内容只是个形式,面试的时候你可以把你的条件讲出来。尊敬的领导: 您好! 首先,感谢您在百忙之中展看我的自荐信。我是XX大学护理学院XXXX届应届毕业...

列举一个自己阅读的例子来证明学会了读书就学会了阅读人生推荐你看这个!!! 王国维在他的《人间词话》中描述了做学问的三种境界:第一种“昨夜西风凋碧树,独上高楼,望断天涯路”;第二种“衣带渐宽终不悔,为伊消得人憔悴”;第三种“众里寻他千,...

c中什么时候调用构造函数和析构函数c中什么时候调用构造函数和析构函数,C类的构造函数调用问题:在对象被创建的时候就会调用构造函数,比如 声明一个类class A{...},当你在main函数中 A a ; 定义一个对象a的时候, 就...

推荐阅读
图文推荐