gpt4 book ai didi

javascript - 在 JavaScript 中从一组数字中获取公因数

转载 作者:行者123 更新时间:2023-11-28 17:55:37 25 4
gpt4 key购买 nike

这个问题已经困扰我一段时间了。正如标题所说,如何从一组数字中得出公因数?我已经编写了这段代码,但我得到了输出“Infinity”。看看:

var x = 10; //Example Numbers
var y = 15;
var fx = 0;

function start() {
for (fx = 0; fx < x; fx++) {
if (x / fx % 1 != 0 || y / fx % 1 != 0) { //My attempt at narrowng down whole numbers
if (x / fx == y / fx) { //Checking if they are the same
alert(x / fx) //This outputs infinity
}
}
}
}
<!DOCTYPE html>
<html>

<head>
<title>Eg</title>
</head>

<body>
<button onclick="start()">Click</button>
</body>

</html>

我想我可以看到其中有一些错误,但我不能 100% 确定。提前致谢!

最佳答案

我建议您编写一个对两个数字进行因子分解的函数,如下所示:

function factorList(number){
var factors = [];
for(var i = 1; i < number; i++){
if(number % i == 0)
factors.push(i);
}
return factors;
}

然后在 start() 方法中,您只需找到两个列表中的因子即可:

function factorList(number) {
var factors = [];
for (var i = 1; i <= number; i++) {
if (number % i == 0)
factors.push(i);
}
return factors;
}
var x = 11; //Example Numbers
var y = 22;

function start() {
var factors = factorList(x);
for (var i = factors.length - 1; i >= 0; i--){
if (y % factors[i] != 0)
factors.splice(i, 1);
}
console.log(factors);
}

start();

这个解决方案很容易扩展,如果您有两个以上的数字,只需再次过滤因子即可。

关于javascript - 在 JavaScript 中从一组数字中获取公因数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44531015/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com