私は数の因子を計算するために以下のJavaScriptコードを持っています。2つの値の共通の因数を見つける
var some = [];
var main = "";
var final = "";
function text(data) {
spliter = data.split(",");
var k = 0;
while (k < spliter.length) {
var meethi = 0;;
main = spliter[k];
var datas = "";
for (var i = 1; i <= 10; i += 1) {
meethi = Math.abs(main/i);
datas = meethi;
some.push('' + datas + '');
}
some.forEach(myFunction);
final += res + '<br>';
k++;
}
return final;
}
var max = 0;
var res = "";
function myFunction(item) {
var van = item.split(".");
if (van[1] == undefined) {
var high = Math.floor(main/van[0]);
if (high > max) {
max = high;
res += max + ':';
}
}
}
document.getElementById('demo').innerHTML = text('124,20');
<p id="demo"></p>
私のプログラムは、2つの値を持つ要素を取得します。両方の値の共通因子を特定するにはどうすればよいですか?
例
('124,20') output --> 4
ように私は自分の知識を持つコードを試してみました。コードに関する他の提案がある場合は、私に教えてくださいと私の希望の結果で私のコードを修正してください。あなたは最大公約数Euclid's algorithmのために使用することができ
あなたが要因をうまくできるようですので、一般的な要因は、両方のリストに表示されるものです。あなたの問題は何ですか?また、あなたの例(1,2&4)に3つの一般的な要因がありますが、なぜ結果として4だけが必要なのでしょうか? – Jamiec
@jamiec ya ..正しい..両方の共通の要因が必要です。最も高いコマン値だけです。 –
ああ、それは最大の共通分母として知られており、あなたが答えからわかるようによく知られている問題です。 – Jamiec