web前端之路

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

2019-10-16  本文已影响0人  疯也是一种态度_
质数是什么?

质数是指在大于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个质数}}

质数表

上一篇 下一篇

猜你喜欢

热点阅读