您的位置 首页 编程语言

递归算法详细讲解欢迎小白C#递归算法

C#递归算法讲解:

什么是递归算法呢:

其实递归算法有2个特点,其中一个就是 ,它会一直不停地调用自己 本身,直到达到某个条件。

其二就是 递归算法会把一些新的参数传给自己本身。

 

递归解题举例:

求1+2+3+4+5+….+n的值

Fun(n)=n+Fun(n-1)

n=1时为1

Fun(n)

{

if(n==1)

return 1;

else

return n+Fun(n-1);

}

 

举个例子:

 

0! = 1 
1! = 1 
2! = 2 * 1! = 2 
3! = 3 * 2! = 6 
… 
n! = n * (n - 1)! 

 

 

阶乘(!)是小于某个数的所有正整数的乘积。

计算阶乘的一种普通方法:
代码如下:

这里边没有用到递归:

 

public long Factorial(int n) 
{ 
if (n == 0) 
return 1; 
long value = 1; 
for (int i = n; i > 0; i--) 
{ 
value *= i; 
} 
return value; 
}

 

 

递归的方法实现计算阶乘:

仔细观察 它与之前的代码比起来它更简洁。
代码如下:

public long Factorial(int n) 
{ 
if (n == 0)//限制条件,对该方法调用自己做了限制 
return 1; 
return n * Factorial(n - 1); 
}

 

关于花猫大叔短视频创业 作者: hadoopall

热门文章

发表评论

电子邮件地址不会被公开。