JavaScript プログラミングでは、数値が同時に 2 つの異なる数値で割り切れるかどうか (2 と 3 で同時に割り切れるかなど) を判断する必要がある場合があります。この状況は、一部のアルゴリズムや数学的計算でよく見られます。次に、JavaScript を使用してこの機能を実装する方法を検討します。
方法 1: 条件ステートメントとモジュロ演算子を使用する
最も単純で最も一般的に使用される方法は、条件ステートメントとモジュロ演算子を使用することです。まず、モジュロ演算子を使用して、この数値の最初の数値に対する剰余と 2 番目の数値に対する剰余を計算します。次に、両方の余りが 0 であるかどうかを判断します。0 である場合、その数値は両方の数値で同時に割り切れます。
以下は、このメソッドを示すコードです:
function isDivisibleBy(num, div1, div2) { if(num % div1 === 0 && num % div2 === 0) { return true; } else { return false; } } console.log(isDivisibleBy(6, 2, 3)); // true console.log(isDivisibleBy(8, 2, 3)); // false
この関数は、判定対象の数値、最初の数値、および 2 番目の数値という 3 つのパラメーターを受け取ります。戻り値が true の場合、この数値がこれら 2 つの数値で同時に除算されることを意味します。
方法 2: 最大公約数を使用する
もう 1 つの方法は、最大公約数を使用することです。最大公約数とは、2 つの数値を均等に分割できる最大の数値です。ユークリッドのアルゴリズムを使用して最大公約数を計算できます。
ユークリッド アルゴリズムを使用すると、最大公約数を計算する過程で、余りが 0 になるまで大きい数値を小さい数値で割り続けることができます。最後に、この小さい数が最大公約数になります。
それでは、最大公約数を使って、ある数値を同時に 2 つの数値で割ることができるかどうかを判断するにはどうすればよいでしょうか?これら 2 つの数値の最大公約数を計算し、その数値が最大公約数の倍数であるかどうかを判断するだけです。
以下は、この方法を示すコードです:
function gcd(x, y) { if(x % y === 0) { return y; } else { return gcd(y, x % y); } } function isDivisibleBy(num, div1, div2) { var gcd_num = gcd(div1, div2); if(num % gcd_num === 0) { return true; } else { return false; } } console.log(isDivisibleBy(6, 2, 3)); // true console.log(isDivisibleBy(8, 2, 3)); // false
このコードでは、まず 2 つの数値の最大公約数を計算する関数 gcd を定義します。次に、同じく 3 つのパラメータを受け取り、2 つの数値の最大公約数を計算し、判定対象の数値が最大公約数の倍数であるかどうかを判定する isDivisibleBy 関数を定義しました。
概要
JavaScript では、数値を 2 つの数値で同時に除算できるかどうかを判断する方法が数多くあります。条件文とモジュロ演算子を使用でき、最大公約数も使用できます。どちらの方法も比較的シンプルで柔軟に使用できるため、特定のニーズに基づいてどちらの方法を使用するかを選択できます。
以上がJavaScript は 2 つの数値を同時に除算しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。