function isPrime(n){ if (n <= 1){ return False; } if (n <= 3){ return true; } if (n % 2 == 0 || n % 3 == 0){ return false; } var i = 5; while(i * i <= n){ if (n % i == 0 || n % (i + 2) == 0){ return false; } i = i + 6; } return true; } function isStartingWith(number, startWith){ return (number.toString())[0] == startWith.toString(); } function generateLowestNumberWithDigit(digit){ return 10 ** (digit - 1); } function generateBiggestNumberWithDigit(digit){ return (10 ** digit) - 1; } function primeGenerator(digit, startWith){ for(number = generateLowestNumberWithDigit(digit); number <= generateBiggestNumberWithDigit(digit); number = number + 1){ if(isPrime(number) && isStartingWith(number, startWith)){ console.log(number); } } } primeGenerator(3,5);