Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

นับจำนวนเฉพาะจาก 2 ถึง n ใน JavaScript

เราต้องเขียนฟังก์ชัน JavaScript ที่รับตัวเลข n เป็นอาร์กิวเมนต์แรกและเพียงอาร์กิวเมนต์เดียว ฟังก์ชันควรคืนค่าจำนวนของจำนวนเฉพาะทั้งหมดจาก 2 ถึง n

เช่น:

For n = 10, the output should be: 4 (2, 3, 5, 7)
For n = 1, the output should be: 0

ตัวอย่าง

const countPrimesUpto = (num = 1) => {
  if (num < 3) {
    return 0;
  };
  let arr = new Array(num).fill(1);
  for (let i = 2; i * i < num; i++) {
    if (!arr[i]) {
      continue;
    };
    for (let j = i * i; j < num; j += i) {
      arr[j] = 0;
    };
  }
  return arr.reduce( (a,b) => b + a) - 2;
};

console.log(countPrimesUpto(35));
console.log(countPrimesUpto(6));
console.log(countPrimesUpto(10));

ผลลัพธ์

ผลลัพธ์ในคอนโซลจะเป็นดังนี้:

11 3 4