【发布时间】:2025-12-25 15:05:10
【问题描述】:
目标是判断输入的数字是否是汉明数?!汉明数是所有分解后仅包含素数 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 的素因数的数字!
【问题讨论】:
-
您可以使用
array.filter在返回数组之前删除任何不符合您条件的数字。 array.filter
标签: javascript arrays any hamming-numbers