gpt4 book ai didi

javascript - 用 Javascript 找出最大的质因数

转载 作者:行者123 更新时间:2023-12-01 07:38:36 24 4
gpt4 key购买 nike

谢谢阅读。对 Javascript 和一般编程来说相当新。

我正在寻找一种方法来返回给定数字的最大质因数。我的第一直觉是使用 while 循环来计算并找到数字的质因数,将这些因数存储在一个数组中并在每次找到时重置。这样数组中的最后一项应该是最大的质因数。

var primerizer = function(input){
var factors = [];
var numStorage = input
for (x=2; numStorage != 1; x++){ // counter stops when the divisor is equal to the last number in the
// array, meaning the input has been fully factorized
if (result === 0) { // check if the number is prime; if it is not prime
factors.push(x); // add the divisor to the array of prime numbers
numStorage = numStorage/x // divide the number being calculated by the divisor
x=2 // reset the divisor to 2 and continue
};
};
primeFactor = factors.pop();
return primeFactor;
}


document.write(primerizer(50))

这仅返回 2、未定义或什么都不返回。我担心的是 for 循环的停止条件必须根据与开始条件相同的变量来定义,所以我尝试用 while 循环代替。
 var primerizer = function(input){
var factors = [];
var numStorage = input
x=2
while (numStorage != 1){
var result = numStorage%x;
if (result === 0) {
factors.push(x);
numStorage = numStorage/x
x=2
}
else {
x = x+1
}
}
return factors.pop();
}
document.write(primerizer(50)

同样的问题。也许我忽略的语法有问题?任何输入都非常感谢。

谢谢你。

最佳答案

我找到的最短答案是:

function largestPrimeFactor(n){
var i=2;
while (i<=n){
if (n%i == 0){
n/=i;
}else{
i++;
}
}
console.log(i);
}
var a = **TYPE YOUR NUMBER HERE**;
largestPrimeFactor(a)

关于javascript - 用 Javascript 找出最大的质因数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22804017/

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