使用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