1

この機能が理解できません:

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

ありがとう

4

5 に答える 5

1

関数内の基数と指数の関係を示す重要な部分は次のとおりです。

count < exponent;

これは、 をresult掛けたループbaseが正確にexponent回数実行されることを意味します。これは正確にはべき乗の定義です:ウィキペディアから:

累乗は繰り返し乗算に対応します。

于 2013-01-19T12:12:39.487 に答える
0

この関数は仕事をします。0 ~ 10 の場合は、pow(2, 10) の意味である 2 を乗算します。

于 2013-01-19T12:06:04.940 に答える
0

デバッガーでステップ実行することをお勧めします。 base関数内でexponent関連しています:ループ上のカウンターであるため、base基本的にそれ自体で乗算されます。exponentexponent

于 2013-01-19T12:06:50.180 に答える
0

それには関係があります。

ベース = 2
指数 = 10

これは FOR(COUNT < Exponent) であるため、関数を 10 回ループします。そして、毎回結果に基数を掛けます。これは 2 です。

そう

  1. 1 * 2 = 2 (新しい結果 = 2)
  2. 2 * 2 = 4 (新しい結果 = 4)
  3. 4 * 2 = 8 (新しい結果 = 8)
  4. 8 * 2 = 16
  5. 16 * 2 = 32
  6. 32 * 2 = 64
  7. 64 * 2 = 128
  8. 128 * 2 = 256
  9. 256 * 2 = 512
  10. 512 * 2 = 1024
于 2013-01-19T12:06:54.613 に答える
0

2 の 10 乗は 2 x 2 x 2 x 2 x 2 x 2 x 2 x 2 x 2 x 2 乗算の恒等要素 (1 x N = N) である 1 に対して変数を開始し、次にA の B 乗を計算し、

result = 1
FOR 1 TO B
    result = result * A
return result;
于 2013-01-19T12:06:57.483 に答える