はじめに
この実験では、JavaScript プログラミングの世界に入り、効率的で有効なコードを書く方法を学びます。一連の実践的な演習とチャレンジを通じて、変数、関数、ループ、条件文などの基本的なプログラミング概念をしっかりと理解するようになります。この実験が終わるとき、JavaScript を使って現実世界のプログラミング問題を解決するスキルと自信を身につけることができます。
二項係数の計算
n 個のアイテムから重複なく順序なしで k 個のアイテムを選ぶ方法の数を計算するには、次の JavaScript 関数を使用できます。
const binomialCoefficient = (n, k) => {
if (Number.isNaN(n) || Number.isNaN(k)) return NaN;
if (k < 0 || k > n) return 0;
if (k === 0 || k === n) return 1;
if (k === 1 || k === n - 1) return n;
if (n - k < k) k = n - k;
let res = n;
for (let j = 2; j <= k; j++) res *= (n - j + 1) / j;
return Math.round(res);
};
この関数を使用するには、ターミナル/SSH を開いて node と入力します。その後、関数に必要な値を渡して呼び出します。たとえば:
binomialCoefficient(8, 2); // 28
関数が正しく機能することを確認するには、次の手順に従います。
Number.isNaN()を使用して、2 つの値のいずれかがNaNであるかどうかを確認します。kが0未満、n以上、1またはn - 1に等しいかどうかを確認し、適切な結果を返します。n - kがk未満であるかどうかを確認し、それに応じてそれらの値を交換します。2からkまでループして二項係数を計算します。- 計算時の丸め誤差を考慮するために
Math.round()を使用します。
まとめ
おめでとうございます!二項係数の実験を完了しました。スキルを向上させるために、LabEx でさらに多くの実験を行って練習できます。