Ugly numbers
by jessekinsman
JavaScript
class UglyNumbers {
constructor() {
const div2 = 2;
const div3 = 3;
const div5 = 5;
}
divisibleBy(num, divisible) {
while (num % divisible == 0) {
num = num/divisible;
}
return num == 1;
}
ugly(num) {
let uglyNum = 2;
let uglyCnt = 0;
let i = 6;
while (uglyCnt < num) {
console.log("Ugly Count: " + uglyCnt + " UglyNum: " + uglyNum + " i: " + i);
if (this.divisibleBy(i,this.div2) && this.divisibleBy(i,this.div3)&& this.divisibleBy(i, this.div5)) {
uglyNum = i;
uglyCnt+=1;
}
i+=1;
}
return uglyNum;
}
}
let ugly = new UglyNumbers();
let ugly5 = ugly.ugly(5);
console.log("Ugly 5: " + ugly5);