递归函数

王朝百科·作者佚名  2010-04-24
窄屏简体版  字體: |||超大  

在数学上,关于递归函数的定义如下:

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

在编程语言中,把直接或间接地调用自身的函数称为递归函数。函数的构建通常需要一个函数或者一个过程来完成。

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

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

例子:

【pascal语言】

function do(x:integer);

begin

if x<=1 then exit(0)

else if x>1then exit(do(x-1)+10)

end;

【C++语言】

用递归法计算1+2+。。。N的值。

#include<iostream.h>

int fn(int i);

void main()

{

int N;

cout<<"

输入一个正整数:";

cin>>N;

cout<<"

1+2+...+"<<N<<"的结果是:"<<fn(N)<<"

";

}

//递归函数的定义

int fn(int i)

{

if(i==1)

return 1;

else

return i+fn(i-1);

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航