黑马程序员技术交流社区
标题:
递归啥含义
[打印本页]
作者:
人心如水
时间:
2014-6-24 19:32
标题:
递归啥含义
。。。。
作者:
dispensable
时间:
2014-6-24 19:46
- -你不如直接去百度?看看例子清晰一点…… 总结一下就是方法自身调用自身,最直观的应用是拿来做阶乘运算:比如
public static int f(int n){
if (n==1)
return 1;
else
return n*f(n-1)
代码没考虑其他细节,只表述一下递归是个什么东西
}
作者:
endian11
时间:
2014-6-24 20:44
递归就是自己调用自己呗,但是递归一定要结束条件,不能无限制的自己调用自己
作者:
小坏坏
时间:
2014-6-24 21:01
函数调用自己本身,如斐波那契序列
public static long F(int n){
if(n == 0 || n == 1)
return 1;
else
retun F(n-1)+F(n-2);
}
作者:
从未有过的晴天
时间:
2014-6-24 21:10
就是自己跟自己玩上了
作者:
哇塞哇
时间:
2014-6-24 21:22
递归是一种重要的编程技术。该方法用于让一个函数从其内部调用其自身。一个示例就是计算阶乘。0 的阶乘被特别地定义为 1。 更大数的阶乘是通过计算 1 * 2 * ...来求得的,每次增加 1,直至达到要计算其阶乘的那个数。
计算阶乘的函数。如果传递了
// 无效的数值(例如小于零),
// 将返回 -1,表明发生了错误。若数值有效,
// 把数值转换为最相近的整数,并
// 返回阶乘。
function factorial(aNumber) {
aNumber = Math.floor(aNumber); // 如果这个数不是一个整数,则向下舍入。
if (aNumber < 0) { // 如果这个数小于 0,拒绝接收。
return -1;
}
if (aNumber == 0) { // 如果为 0,则其阶乘为 1。
return 1;
}
else return (aNumber * factorial(aNumber - 1)); // 否则,递归直至完成。
}
把这个程序好好理解。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2