JavaScript
 Computer >> コンピューター >  >> プログラミング >> JavaScript

JavaScriptで指定範囲内の数値の立方和を計算する方法

問題

今回は、2つの数値からなる範囲配列を受け取り、その範囲内に含まれるすべての数値の立方数(3乗した値)を合計して返すJavaScript関数を作成します。

たとえば、範囲が [4, 11] の場合、4³ から 11³ までの合計を求めることになります。

解決のアプローチ

この問題は次の手順で解くことができます。

  • 範囲の下限から上限まで、順番に各数値を取り出す
  • 取り出した数値を3乗する
  • 3乗した値を累積し、最終的な合計を返す

コード例

実際の実装コードは以下の通りです。

const range = [4, 11];
const sumCubes = ([l, h]) => {
    const findCube = num => num * num * num;
    let sum = 0;
    for(let i = l; i <= h; i++){
        sum += findCube(i);
    };
    return sum;
};
console.log(sumCubes(range));

出力結果

4320

コードの解説

この関数では、分割代入(デストラクチャリング)を使って範囲配列から下限値 l と上限値 h を受け取っています。内部の findCube 関数は、引数として渡された数値を3乗して返すシンプルなヘルパー関数です。

続いて、for ループで下限から上限までの各数値に対して findCube を呼び出し、その結果を変数 sum に加算していきます。ループが完了した時点で、合計値を戻り値として返します。

今回の例では、4³ + 5³ + 6³ + 7³ + 8³ + 9³ + 10³ + 11³、つまり 64 + 125 + 216 + 343 + 512 + 729 + 1000 + 1331 を計算しており、結果は 4320 となります。

同様の処理は、reduce() メソッドや数学公式を利用することでも実装可能です。状況に応じて可読性とパフォーマンスのバランスを考慮して選択するとよいでしょう。

  1. JavaScriptの数値(Number)の基本と実践サンプルコード

    JavaScriptでは、整数も小数もすべて「Number」型として扱われます。この記事では、数値変数の定義方法と、それらを使った簡単な演算の例を、動作するHTMLサンプルコードとともに紹介します。サンプルコード以下は、JavaScriptで数値を扱う基本的な例です。整数(22、99)と小数(1.523)を変数に格納し、ボタンをクリックすると画面に表示する仕組みになっています。<!DOCTYPE html> <html lang=ja> <head> <meta charset=UTF-8 /> <meta name=viewport co

  2. JavaScriptで指定した範囲内の整数ペアを生成する方法

    問題数値 n を引数として受け取る JavaScript 関数を作成します。この関数は、以下の条件を満たす整数のペア [a, b] をすべて含む配列を返す必要があります。0 <= a <= b <= nつまり、a と b はどちらも 0 以上 n 以下であり、かつ a は b 以下である必要があります。例えば n = 4 の場合、(0, 0) から (4, 4) までの15通りの組み合わせが生成されます。実装コード二重ループを使うことで、条件を満たすすべてのペアを効率よく列挙できます。外側のループ変数 i を a、内側のループ変数 j を b とし、j を i から開始するこ