用原生JS判断素(质)数,并找出100~1000之间的全部素(质)数

素数:又称质数,即“大于1,且只能被1和它自己整除的数”

步骤构思:
一、for遍历循环找其余约数
二、if设置知足条件(计数器从2开始,不包括它自己)有则中断输出
数组

需求一:判断素(质)数

function primeNum(num) { // 声明命名函数(形参)
        var flag = true; // 变量储存=条件为真
        for (var i = 2; i < num; i++) { // for设置循环体,遍历是否存在其余约数(素数:从2开始只能被1和自身整除)
            if (num % i === 0) {
                flag = false
                break // 存在则终止执行并返回输出
            }
        }
        return flag // 返回该变量的真假值
    }
    var values = primeNum(9) // 用数字9来测试
    console.log(values); // false


需求二:找出100~1000之间的全部素(质)数

var primeNum = [] // 该区间全部素数的集合就是一个数组
    var i = 0;
    var count = 0; // 计算素数的个数
    for (i = 100; i <= 1000; i++) {
        var j = 0;
        for (j = 2; j < i; j++) { // 素数需条件"大于1,且只能被1和它自己整除的数"
            if (i % j === 0) { // 能被其余数整除则为非质数,终止遍历
                break;
            }
        }
        if (j >= i) { // !JavaScript没有"块级做用域",变量j在for循环赋值结束后仍存在于"外部环境"!
            count++; // 计算素数的个数
            primeNum.push(i) // 累计追加的素数
        }
    }
    console.log('共有素数' + count + '个');
    console.log(primeNum); // 输出目标结果数组
相关文章
相关标签/搜索