美文网首页web前端之路
如何用JS找出1-100之间的质数?方法详解

如何用JS找出1-100之间的质数?方法详解

作者: 疯也是一种态度_ | 来源:发表于2019-10-16 10:24 被阅读0次
质数是什么?

质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。

  • 只能被1 和 自身 整除的数才叫质数
质数的特点

不能整除其他数字,所以它和1以及自身取余会等于0,但是不适用于其他数字。

代码如下:

function Zhi(n) {
    // 判断一个数是否能被自身小的正整数(除开1和自身)整除.如果能整除则不是质数,否则反之.
    for (var i = 2; i < n; i++) {
        if (n % i == 0) {
            return false;
        }
    }
    return true
}
console.log(Zhi(4))
输出:false   // 4不是质数 所以返回false

上边这个方法是判断是否是一个质数

那如何判断1到任意数之间的所有质数呢, 那就比较简单了

代码如下:

 function zhiShu(num) {
    var arr = [];
    // 遍历任意数, 利用test方法判断遍历数是否为质数;如果是, 就加入数组;
    for (var i = 2; i < num + 1; i++) {
        if (Zhi(i)) {
            arr.push(i);
        }
    }
    return arr;
}
console.log(zhiShu(100))  //打印100之间的质数
输出:[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97]

\color{red}{\Large\mathbf{1-100之间有25个质数}}

质数表

相关文章

网友评论

    本文标题:如何用JS找出1-100之间的质数?方法详解

    本文链接:https://www.haomeiwen.com/subject/kedymctx.html