使用2^3例如:
power(2, 3);
呼叫:
function power(2, 3) {
if (3 === 0) {
return 1;
} else {
return 2 * power(2, 2); //called
}
}
这导致:
function power(2, 2) {
if (2 === 0) {
return 1;
} else {
return 2 * power(2, 1); //called
}
}
这导致:
function power(2, 1) {
if (1 === 0) {
return 1;
} else {
return 2 * power(2, 0); //called
}
}
这导致:
function power(2, 0) {
if (1 === 0) {
return 1; //returned
} else {
return 2 * power(2, -1);
}
}
这导致:
function power(2, 1) {
if (1 === 0) {
return 1;
} else {
return 2 * 1; //returned
}
}
这导致:
function power(2, 2) {
if (2 === 0) {
return 1;
} else {
return 2 * 2; //returned
}
}
这导致:
function power(2, 3) {
if (3 === 0) {
return 1;
} else {
return 2 * 4; //returned
}
}
最终返回8 ,这是2^3。
Java不是JavaScript的。删除了java标签。 – 2012-03-07 23:12:53
改变问题得到较小的情况下'功率(基地,指数 - 1)'和*使用*它与“解决”部分'base' - 在“*使用*”在这个例子只是乘法。 – miku 2012-03-07 23:12:59
@AndrewWhitaker但它有相同的语法,所以我认为那里的人也会知道。 – 0x499602D2 2012-03-07 23:14:29