Generator Bilangan Prima

Ini hanyalah contoh tambahan dari tulisan yang gue tulis sebelumnya disini https://afief.net/iterables-iterator-generator.

function * primeNumbers (count = 10) {
  const numbers = []
  let current = 2
  const isPrime = (num) => !numbers.find(v => Number.isInteger(num / v))
  while (true) {
    if (count <= 0) break
    if (isPrime(current)) {
      numbers.push(current)
      yield current
      count--
    }
    current++
  }
}

Untuk membuat 15 bilangan prima, cukup dengan

[...primeNumbers(15)]
// [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47]


Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.