c语言递归函数

2025-03-01 12:25:1093 次浏览

最佳答案

 递归函数:

 编程语言中,函数Func(Type a,……)直接或间接调用函数本身,则该函数称为递归函数。递归函数不能定义为内联函数。

 在数学上,关于递归函数的定义如下:对于某一函数f(x),其定义域是集合A,那么若对于A集合中的某一个值X0,其函数值f(x0)由f(f(x0))决定,那么就称f(x)为递归函数。

 函数介绍:

 在数理逻辑和计算机科学中,递归函数或μ-递归函数是一类从自然数到自然数的函数,它是在某种直觉意义上是"可计算的" 。事实上,在可计算性理论中证明了递归函数精确的是图灵机的可计算函数。递归函数有关于原始递归函数,并且它们的归纳定义(见下)建造在原始递归函数之上。但是,不是所有递归函数都是原始递归函数 — 最著名的这种函数是阿克曼函数。

 其他等价的函数类是λ-递归函数和马尔可夫算法可计算的函数。

 例子:

 //代码1

 void func()

 {

 //...

 if(...)

 func();

 else

 //...

 }

 条件:

 一个含直接或间接调用本函数语句的函数被称之为递归函数,在上面的例子中能够看出,它必须满足以下两个条件:

 1) 在每一次调用自己时,必须是(在某种意义上)更接近于解;

 2) 必须有一个终止处理或计算的准则。

 梵塔的递归函数:

 //C

 void hanoi(int n,char x,char y,char z)

 {

 if(n==1)

 move(x,1,z);

 else

 {

 hanoi(n-1,x,z,y);

 move(x,n,z);

 hanoi(n-1,y,x,z);

 }

 }

声明:知趣百科所有作品均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请在页面底部查找“联系我们”的链接,并通过该渠道与我们取得联系以便进一步处理。