递归函数

/***********************
在实际开发中很多时候会作到算法,
递归就是最常见的一种。
递归可以让一个函数从其内部调用其自身,
递归和循环紧密相关,
基本上能用循环就能用递归。
一个典型示例就是计算阶乘,
下面是其ActipnScript的代码。
***********************/

//阶乘
function factorial(n:int):int
{
	if (n > 1)
	{
		return n*factorial(n-1);
	}
	else
	{
		return 1;
	}
}
trace("6!="+factorial(6));

/**********************
此处定义了factorial函数,
并在其内部调用自己,
最后当n=1时就返回1,
不再调用从而实现阶乘运算。
著名的高斯算法一般是用循环不实现的,
其实也可以用递归来实现。看下面代码。
***********************/

//高斯算法
function sum(min:int,max:int):int
{
	if (max > min)
	{
		return max + sum(min,--max);
	}
	else
	{
		return max;
	}
}
trace("1+2+...+10="+sum(1,10));
/***********************
和循环一样,
递归一定要有一个终结点,
不然将导致计算机执行一个“无限”死循环
***********************/
原文地址:https://www.cnblogs.com/602147629/p/1951821.html