You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

22 lines
712 B
JavaScript

function Hamming(n) {
var succession = [1];
var length = succession.length;
var candidate = 2;
while (length < n) {
if (isHammingNumber(candidate)) {
succession[length] = candidate;
length++;
}
candidate++;
}
return succession;
}
function isHammingNumber(num) {
while (num % 5 === 0) num /= 5;
while (num % 3 === 0) num /= 3;
while (num % 2 === 0) num /= 2;
return num == 1;
}
console.log(Hamming(20));