获取素数的最短方法JS

问题描述 投票:0回答:2

有没有办法在一行中获取素数 我的任务是在一行中获取数组中最大的素数,这可能吗?!

Given an array of numbers. Create a function which returns the largest prime number. (​NOTE*​, 
it should be written only 1 line of code). ​(2)

let arr1 = [1,5,7,6,9,10,13,11,12]
    function largestPrime(arr) {
    // write your code here... }
    }

javascript node.js
2个回答
1
投票

参考@Sergio 对问题的精彩回答:JavaScript 中的数字素数测试。您可以过滤数组中的素数,然后使用 Math.max 函数获取最大的素数。

let arr1 = [1,5,7,6,9,10,13,11,12]
    function largestPrime(arr) {
      return Math.max(...arr.filter((n) => { return ![...Array(n).keys()].slice(2).map(i => !(n%i)).includes(true) && ![0,1].includes(n) }));
    }
  console.log(largestPrime(arr1));


0
投票

函数最大Prime(arr) { return Math.max(...arr.filter((n) => Array.from({length: Math.min(n, 6)}, (_,index) => index + 2).every(i = > n % i && ![0,1].includes(n)))) } 我认为对于质数,我们不必循环遍历数组直到该数字,我们只需检查 2 到 7 之间的数字,不包括 0 和 1,它们涵盖了所有数字

© www.soinside.com 2019 - 2024. All rights reserved.