目标是确定输入的数字是否是汉明数?!汉明数是所有分解后的仅包含素数 2、3 和 5 的数字。如果分解后的数字包含与 2、3 和 5 中的任何一个不同的任何数字,则不是汉明数。所以我找到了如何分解每个输入的数字,并且因子形成了一个数组。我想设置条件是否有任何因素不同于 2、3 或 5,以便能够从潜在的汉明数列表中排除这些数字!
将每个数字分解为素数的代码是:
function getAllFactorsFor(remainder) {
var factors = [], i;
for (i = 2; i <= remainder; i++) {
while ((remainder % i) === 0) {
factors.push(i);
remainder /= i;
}
}
return factors;
}
现在我需要设置条件以排除这个新形成的数组中包含任何不同于 2、3 和 5 的素因子的所有数字!