zdly.net
当前位置:首页 >> jsFor循环判断质数 >>

jsFor循环判断质数

var isValid = true; for (var i = 2; i <=100; i++) { isValid = true; for (var j = 2; j < i; j++) { if (i%j == 0 && j != i) { isValid = false; continue; } } if (isValid) { console.log(i); } }

用试除法,for循环,遍历尝试这个数是否被比它(或算术平方根)小的素数整除

以下代码可以实现javascript求n个素数,当n=500时满足题目需求.function prime(n){ var primearr = [2]; var isprime = function(num, primelist){ if(num == 2){ return true; } for(var i = 3, ilen = math.sqrt(num), j = 1; i if(num % i == 0){ return false; } }

通过FOR循环来判断是否为质数. <code class="language-javascript hljs ">function isPrimeNum(num){ for (var i = 2; i < num; i++) { if (num%i==0){ return false; } }; return true; }</code>

function isPrime(num) { if (num == 1) return false; if (num == 2 || num == 3) return true; if (num % 6 != 1 && num % 6 != 5) return false; var temp = Math.sqrt(num); for (var i = 5; i if (num % i == 0 || num % (i + 2) == 0) return false; } return true; } isPrime(17) // true

算法一: function getPrimeNumbers(limit){ var result = [2]; var is; if(limit s) break; if(i % r) continue; is = false; break; } is && result.push(i); } return result; }然后直接调用即可 算法二: 程序代码 var stopwatch = new Date(); // 计时器, 初始化.

/** * 判断n是否是质数 * @param n 要判断的自然数 * @param a 递归参数,初始传递为2,即最小质数 */function isPrime(n, a){ if(n 评论0 0 0

for 语句括号里面有 3部分嘛.其中第二部分是条件,只要返回值是 false(JS是弱类型语言,会自动转换返回值类型true或false),循环就会中断.在你的例子中,当 i 大于 3 的时候, j = arr[ i ] 返回值是 undefined ,所以就中断了.但是这样写可能存在问题,就是如果 数组的某一项的值是 0,null,false,undefined 之类的可以转换成false的值,循环也会中断.

var i,j; var k=0;//质数总个数 for(i=2;i<=50;i++){ for(j=2;j<=i/2;j++){ if(i%j==0) break; } if (j>i/2){ k++; console.log("数"+i+"是质数"); } } console.log(k);

以下代码可以实现JavaScript求n个素数,当n=500时满足题目需求.function prime(n){ var primeArr = [2]; var isPrime = function(num, primeList){ if(num == 2){ return true; } for(var i = 3, iLen = Math.sqrt(num), j = 1; i if(num % i == 0){ return false; } }

网站首页 | 网站地图
All rights reserved Powered by www.zdly.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com