javascript计算指定范围内的质数

  质数(prime number)又称素数,有无限个。质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数的数称为质数。

  算法:判断一个数是否是质数,只需判断它是否能被小于它开跟后后的所有数整除,这样做的运算就会少了很多,因此效率也高了很多。算法来源:http://blog.sina.com.cn/s/blog_622e77cc0100n5lm.html

  javascript计算指定范围内的质数源代码

<title>JavaScript获取指定范围内的质数</title>
<style>body{word-break:break-all;word-wrap:break-word}</style>
<script>
    function isPrimeNumber(v) {//判断是否为质数
        var s = Math.floor(Math.sqrt(v));
        for (var i = s; i > 1; i--) if (v % i == 0) return false;
        return true;
    }
    function getPrimeNumber(min, max) {//获取指定范围内的质数集合
        if (min > max) { var t = max; max = min; min = t;}
        var rst = [];
        for (var i = Math.max(2, min) ; i <= max; i++) if (isPrimeNumber(i)) rst.push(i);
        return rst;
    }
    var min = parseInt(prompt('请输入最小数字')) || 0;
    var max = parseInt(prompt('请输入最大数字')) || 0;
    document.write(min+'~'+max+'范围内质数有:'+getPrimeNumber(min, max));
</script>

 


原创文章,转载请注明出处:javascript计算指定范围内的质数

评论(0)Web开发网
阅读(137)喜欢(0)不喜欢(1)JavaScript/Ajax开发技巧