JavaScript の楽しい質問: 最小公倍数

黄舟
リリース: 2017-02-04 15:31:53
オリジナル
1490 人が閲覧しました

リストがあり、その中の数値の各ペアは分数の分子と分母を表します:

[ [numer_1, denom_1] , ... [numer_n, denom_n] ]
ログイン後にコピー

すべての数値は正の整数です。

最小公分母 D を見つけ、元の分母 denom を D に置き換え、それらが表す値が変わらないように分子を変更する必要があります。

例:

[ [1, 2], [1, 3], [1, 4] ] // => (6,12)(4,12)(3,12)
ログイン後にコピー

ここでは、2,3,4 の最小公倍数は 12 であるため、分母は 12 に変更され、同じ値を維持するために分子もそれに応じて変更されます。

1/2と6/12は同じサイズ、1/3と4/12も同じサイズです。

この質問の鍵は、最小公倍数、またはすべての分母の最小公倍数を見つけることです。

そのため、まず配列をパラメータとして受け取る最小公倍数を見つける scm メソッドが必要です。

配列の最大の要素から累積して、割り切れる場合は最小公倍数になります

//smallest common multiple function scm(array){ var max = Math.max.apply(null,array); signal: while(true){ for(var i=0;i
        
ログイン後にコピー

もちろん、この方法は最小公倍数を見つけるための最良の方法ではありません。 multiple は、最大の規則的な数値を使用することです。


次に、リスト内のすべての配列の 2 番目の項目 (分母項目) を取り出し、新しい配列を形成し、それを scm メソッドに渡して最小公倍数を取得するのは簡単です。

最後に、リストを反復処理して文字列を連結します。

function convertFrac(lst){ var array = []; var str = ""; for(var i=0;i
        
ログイン後にコピー

上記は JavaScript の興味深い質問の内容です: 最小公倍数 その他の関連コンテンツについては、PHP 中国語 Web サイト (m.sbmmt.com) に注目してください。


関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!