Chúng tôi được yêu cầu viết một hàm JavaScript nhận một số, chẳng hạn như n, làm đối số đầu tiên và duy nhất.
Sau đó, hàm sẽ trả về tổng số tất cả các số nguyên tố từ 2 đến số n.
Ví dụ -
For n = 10, the output should be: 4 (2, 3, 5, 7) For n = 1, the output should be: 0
Ví dụ
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));
Đầu ra
Và đầu ra trong bảng điều khiển sẽ là -
11 3 4