我无法理解这个功能:
function power(base, exponent) {
var result = 1;
for (var count = 0; count < exponent; count++)
result *= base;
return result;
}
show(power(2, 10));
如果基数和指数在函数内部没有任何关系,怎么可能show(power(2, 10))
等于?1024
谢谢
我无法理解这个功能:
function power(base, exponent) {
var result = 1;
for (var count = 0; count < exponent; count++)
result *= base;
return result;
}
show(power(2, 10));
如果基数和指数在函数内部没有任何关系,怎么可能show(power(2, 10))
等于?1024
谢谢
给出函数内部基数和指数之间关系的关键部分是:
count < exponent;
这意味着result
乘以 的base
循环恰好运行exponent
次数。这正是指数的定义:来自维基百科:
取幂对应于重复乘法;
这个函数完成了这项工作。对于 0 到 10,将值乘以 2,这就是 pow(2, 10) 的含义。
我建议使用调试器逐步完成它。 base
并且exponent
在函数中是相关的:base
本质上是乘以自身的exponent
时间,因为exponent
是循环上的计数器。
它确实有关系。
底数 = 2
指数 = 10
它会做的是 FOR(COUNT < Exponent),所以它会在函数中循环 10 次。并将结果每次乘以基数。这是2。
所以
2 的 10 次方是 2 x 2 x 2 x 2 x 2 x 2 x 2 x 2 x 2 x 2 您将变量初始化为 1,这是乘法的单位元素 (1 x N = N),然后计算 A 的 B 次方,
result = 1
FOR 1 TO B
result = result * A
return result;