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

  • A+
所属分类:Web前端
摘要

步骤构思:
1、for遍历循环找其他约数
2、if设置满足条件(计数器从2开始,不包括它本身)有则中断输出


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

步骤构思:
1、for遍历循环找其他约数
2、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); // 输出目标结果数组