本帖最后由 黑骏马 于 2013-8-1 02:25 编辑
比如,求n! 一般都会写这两种方法:
1.循环- public static int Jiecheng(int n)
- {
- int nJiecheng = 1;
- if (n == 0 || n == 1)
- {
- return 1;
- }
- else
- {
- for (int i = 1; i <= n; i++)
- {
- nJiecheng *= i;
- }
- return nJiecheng;
- }
- }
复制代码 2.递归- public static int Jiecheng(int n)
- {
- if (n == 0 || n == 1)
- {
- return 1;
- }
- else
- {
- return Jiecheng(n - 1) * n;
- }
- }
复制代码 两种方法可以实现同样的功能,
递归的方法看起来很简洁,
但理解和描述起来要麻烦点儿,
计算机是怎么理解递归的?
效率会比用循环的方法高吗?
|