function R(num){
var num=R(num-1)+R(num-2);
return num;
}
R(5);
这样写为什么不行,新手求教
function f(n){
if(n == 0 || n == 1){
return 1;
}
return f(n-1)+f(n-2);
}
f(5);
function R(num){
if (num == 0 || num == 1) return 1;
var num=R(num-1)+R(num-2);
return num;
}
这个肯定不行的,你没有判断退出条件.
完整的一个程序应该是这样的. 需要判断输入值为数字而且大于等于1;
function R(num){
num =parseInt(num);
if(num <0 || isNaN(num))
return console.log("错误的输入")
if(num == 1)
return 1;
if(num == 2)
return 1;
return R(num-1)+R(num-2);
}
function f(n){
if(n == 0 || n == 1){
return 1;
}
return f(n-1)+f(n-2);
}
f(5);