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

JavaScriptでforループを使って階乗を計算する方法

本記事では、数値 n を引数として受け取り、for ループを使用してその階乗を計算して返す、シンプルな JavaScript 関数の実装方法を解説します。

階乗とは

階乗とは、1 からその数までのすべての整数を掛け合わせた値のことです。例えば、以下のような結果になります。

factorial(5) = 120,
factorial(6) = 720

アルゴリズムの考え方

結果を格納する変数とカウント用の変数を用意し、カウントの値を結果に掛け合わせながら、カウントが 1 に達するまで 1 ずつ減らしていきます。そして最後に、累積した結果を返します。

処理の手順

  1. 結果を格納する変数 res を 1 で初期化する
  2. カウンタ i を num から開始し、i が 1 より大きい間ループを繰り返す
  3. 各ループ内で res に i を掛け合わせる(res *= i)
  4. ループが終わったら res を戻り値として返す

コード例

以下が実際のコードです。

const num = 14;
const factorial = num => {
    let res = 1;
    for(let i = num; i > 1; i--){
        res *= i;
    };
    return res;
};
console.log(factorial(num));

出力結果

このコードを実行すると、コンソールには次の出力が表示されます。

87178291200
  1. JavaScriptのforループを使って空のオブジェクトにプロパティを設定する方法

    JavaScriptでは、for...inループを使うことで、既存のオブジェクトから空のオブジェクトへプロパティを簡単にコピーできます。以下に、forループを使用して空のオブジェクトにプロパティを設定するサンプルコードを紹介します。 コード例 <!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width,

  2. JavaScriptのループを停止する方法|clearInterval()の使い方を解説

    JavaScriptでsetInterval()によって繰り返し実行されている処理(ループ)を停止したい場合は、clearInterval()を使用します。setInterval()は指定した間隔ごとに関数を繰り返し呼び出すメソッドですが、そのままでは無限に処理が続いてしまいます。そこで、あらかじめ戻り値として取得したタイマーIDをclearInterval()に渡すことで、ループを任意のタイミングで止めることができます。コード例以下は、一定回数スクロール処理を繰り返した後にループを停止するサンプルコードです。<!DOCTYPE html> <html lang="