1」を使用します。 ?n*fac(n-1):1}"。"/> 1」を使用します。 ?n*fac(n-1):1}"。">
ホームページ >ウェブフロントエンド >フロントエンドQ&A >JavaScriptで13の階乗を求める方法
方法: 1. for ループ、構文 "var cj=1;for(var i=1;i1?n*fac(n-1):1}"。
このチュートリアルの動作環境: Windows 7 システム、JavaScript バージョン 1.8.5、Dell G3 コンピューター。
階乗は、1808 年にクリスチャン クランプ (1760-1826) によって発明された算術記号です。数学用語です。
正の整数の階乗は、その数値以下のすべての正の整数の積であり、0 の階乗は 1 です。自然数nの階乗はn!と書きます。 1808 年にクリスチャン カーマンがこの表記法を導入しました。
つまり、n!=1×2×3×...×(n-1)×n
です。階乗は、0!=1
、n!=(n-1)!×n
のように再帰的に定義することもできます。
JavaScript は階乗を実装するための複数のメソッドをサポートしています。見てみましょう。
方法 1: for ループを使用して次のことを実現します。
13 の階乗を見つけたい場合は、1 ~ 13 の数値をたどる必要があるため、初期条件はfor ループの は i = 1 に設定でき、制限は i
for (var i = 1; i <= 13; i++) { }
次に、ループ本体「{}」で、各ループの i 値を乗算します。これには、積を保管するための中間数量 cj が必要です。結果に影響を与えないように、変数 cj の初期値は 1 でなければなりません。記述方法は 2 つあります (どちらかを選択してください):
cj *= i; //或 cj = cj * i;
ループ終了後、変数 cj の値を 13 の階乗にして出力します。
完全な実装コードを以下に示します。
var cj = 1; for (var i = 1; i <= 13; i++) { cj *= i; } console.log( "13的阶乘为: " + cj);
方法 2: 再帰関数を使用して
function fac(num) { if (num <= 1) { return 1; } else { // 闭包 return num * fac(--num); //方法一 //return num*fac(num-1); //方法二 // return num*arguments.callee(num-1);//方法三 // return num*arguments.callee(--num);//方法四 /*但在严格模式下不能通过脚本访问arguments.callee*/ } } var result = fac(13); console.log( "13的阶乘为: " + result);## を実装します。
#方法 3: 三項演算子を使用する
function fac(n) { return n > 1 ? n * fac(n - 1) : 1 } console.log('2的阶乘为:', fac(2)) console.log('3的阶乘为:', fac(3)) console.log('4的阶乘为:', fac(4)) console.log('13的阶乘为:', fac(13))[推奨学習:
javascript高度なチュートリアル]
以上がJavaScriptで13の階乗を求める方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。