碎片时间学编程「109]:素数到给定的数字


使用埃拉托色尼筛法生成给定数量的素数。

  • 从给定数字生成一个数组。
  • 使用Array.prototype.filter()过滤出可被任何数字整除的值,从2到所提供数字的平方根。
const primes = num => {  let arr = Array.from({ length: num - 1 }).map((x, i) => i + 2),    sqroot = Math.floor(Math.sqrt(num)),    numsTillSqroot = Array.from({ length: sqroot - 1 }).map((x, i) => i + 2);  numsTillSqroot.forEach(x => (arr = arr.filter(y => y % x !== 0 || y === x)));  return arr;};


示例:

primes(10); // [2, 3, 5, 7]

更多内容请访问我的网站:https://www.icoderoad.com

发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章