Skip to content

Instantly share code, notes, and snippets.

@YoussefLagtab
Last active August 11, 2019 15:27
Show Gist options
  • Save YoussefLagtab/a48a76a49bd141d60768f8ae33448312 to your computer and use it in GitHub Desktop.
Save YoussefLagtab/a48a76a49bd141d60768f8ae33448312 to your computer and use it in GitHub Desktop.
const input = [2, 1, 2]
const [n] = input
function isprime(nbr)
{
if (nbr < 2)
return (0)
for (let i = 2; i <= nbr / 2; i++)
if (nbr % i == 0)
return (0)
return (1)
}
/* function generator
* get the next prime number each time you call it
*/
function *get_next_prime()
{
let p = 2
while (1)
{
if (isprime(p))
yield p
p++
}
}
function is_lucky_number(nbr)
{
let prime_nbr
let prime_div_count = 0
let gnp = get_next_prime() // generator to get the next prime number
do {
prime_nbr = gnp.next().value // get the next prime number
if (nbr % prime_nbr == 0)
prime_div_count++
if (prime_div_count == 3)
return (1)
} while (prime_nbr <= nbr / 2)
return (0)
}
function get_lucky_number(pos) {
for (let n = 30;; n++)
{
if (is_lucky_number(n))
pos--
if (pos == 0)
return (n)
}
}
for (let i = 0; i < n; i++)
{
let ln = get_lucky_number(input[i + 1])
console.log(ln)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment