ホームページ > ウェブフロントエンド > jsチュートリアル > さまざまなテクニックを使用した JavaScript での数値の合計。

さまざまなテクニックを使用した JavaScript での数値の合計。

WBOY
リリース: 2024-07-31 17:19:12
オリジナル
762 人が閲覧しました

Summing Numbers in JavaScript with Different Techniques.

数値 n が与えられた場合、目標は最初の n 個の自然数の合計を見つけることです。たとえば、n が 3 の場合、1 + 2 + 3、つまり 6 を計算したいとします。
1.数式を使用します。
関数 fun1():

function fun1(n) {
    return n * (n + 1) / 2;
} 
console.log("Ex - 1 >>> ", fun1(3)); // Output: 6

ログイン後にコピー

2.ループを使用します。
関数 fun2():

function fun2(n) {
    let sum = 0;

    for (var i = 0; i <= n; i++) {
        sum = sum + i;
        console.log(i);
    }

    return sum;
}

console.log("Ex - 2 >>> ", fun2(3)); // Output: 6

ログイン後にコピー
  • この関数はループを使用して、最初の n 個の自然数を合計します。
  • 変数の合計を 0 に初期化します。
  • ループは 0 から n まで実行されます。反復ごとに、現在の値が追加されます 私を合計します。
  • n = 3 の場合、ループは

  • として実行されます。
  • i = 0、sum = 0 + 0 = 0

  • i = 1、sum = 0 + 1 = 1

  • i = 2、sum = 1 + 2 = 3

  • i = 3、sum = 3 + 3 = 6

このアプローチは単純で理解しやすいですが、n が非常に大きい場合は数式に比べて効率が低下する可能性があります。

どちらの方法でも方法は異なりますが、同じ結果が得られます。

  • 数式 (fun1) の方が高速かつ効率的です。
  • ループメソッド (fun2) はシンプルで直感的ですが、時間がかかる場合があります n の値が大きい場合。

3.ネストされたループを使用した合計
関数 fun3():

function fun3(n) {
    let sum = 0;

    for (let i = 0; i <= n; i++) {
        for (let j = 0; j <= i; j++) {
            sum++;
        }
    }

    return sum;
}

console.log(fun3(3)); // Output: 10

ログイン後にコピー
  • この関数は、ネストされたループを使用して合計をカウントします。
  • 変数の合計を 0 に初期化します。
  • 外側のループは 0 から n まで実行されます。
  • 内側のループは、0 から外側のループの i の現在の値まで実行されます。
  • 内部ループの反復ごとに、合計は 1 ずつ増加します。

これがどのように機能するかを理解するために、n = 3 の場合の手順を詳しく見てみましょう。

  1. i = 0 の場合:
  • j は 0 から 0 まで (1 回の反復) 実行されるため、合計は 1 になります。
  1. i = 1 の場合:
  • j は 0 から 1 (2 回の反復) で実行されるため、合計は 3 になります。
  1. i = 2 の場合:
  • j は 0 から 2 (3 回の反復) で実行されるため、合計は 6 になります。
  1. i = 3 の場合:
  • j は 0 から 3 (4 回の反復) で実行されるため、合計は 10 になります。

したがって、sum は次の手順を実行します。

初期合計 = 0
i = 0 の後、sum = 1
i = 1 の後、sum = 3
i = 2 の後、sum = 6
i = 3 の後、sum = 10

したがって、fun3(3) は実行されたインクリメントの合計数である 10 を返します。

以上がさまざまなテクニックを使用した JavaScript での数値の合計。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート