
针对质数进行判断,判断一个数是否是质数
方案1
/*** @author lihh* @description 判断是否是质数 - 约数只有1与其本身的数就叫质数* @param {*} nums 数值* @returns*/const isPrime = (nums) => {const temp = nums - 1let i = 2for (; i <= temp; i += 1) {if (nums % i === 0) return false}return true}
方案2
/*** @author lihh* @description 判断是否是质数 - 约数只有1与其本身的数就叫质数* 我们知道,一个数若可以进行因数分解,那么分解时得到的两个数一定是一个小于等于sqrt(n),* 一个大于等于sqrt(n),据此,并不需要遍历到n-1,遍历到sqrt(n)即可* @param {*} nums 数值* @returns*/const isPrime = (nums) => {const temp = Math.sqrt(nums)let i = 2for (; i <= temp; i += 1) {if (nums % i === 0) return false}return true}
- 方案2主要是针对平方根进行优化,缩短了遍历的次数
