问题

Q:统计所有小于非负整数 n 的质数的数量。

示例

输入:10
输出:4
解释:小于10的质数一共有4个,分别是 2,3,5,7

参考答案

  1. function wan(num) {
  2. if (num < 3) {
  3. return 0;
  4. }
  5. if (num == 3) {
  6. return 1;
  7. }
  8. if (num == 4) {
  9. console.log(2);
  10. return 2;
  11. }
  12. let current = 5;
  13. const arr = [2, 3];
  14. let total = arr.length;
  15. while (current < num) {
  16. let flag = false;
  17. for(let j = 0; j < arr.length; j++) {
  18. if (current % arr[j] == 0) {
  19. flag = true;
  20. break;
  21. }
  22. }
  23. if (!flag) {
  24. total++;
  25. arr.push(current);
  26. }
  27. current++;
  28. }
  29. console.log(total, arr);
  30. return total;
  31. }
  32. const n = 12;
  33. const res = wan(n);
  34. console.log('res', res);

运行结果

image.png