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);