- A+
所属分类:Web前端
素数:又称质数,即“大于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); // 输出目标结果数组