判断一个数是否为质数
程序员文章站
2022-06-24 12:54:11
质数是指在大于1的自然数中,除了1和它自身外没有其他因数的自然数。 一、标记法,flag初始值为true,当n%i 0时(1
质数是指在大于1的自然数中,除了1和它自身外没有其他因数的自然数。
一、标记法,flag初始值为true,当n%i === 0时(1<i<n),说明n不是质数,此时flag值为false且循环终止;当n%i != 0 时,flag的值始终为true,此时会输出n是质数。
<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>document</title> </head> <body> <script> function num(n){ for(var i=2;i<n;i++){ var flag=true if(n%i===0){ flag=false document.write(n+'不是质数') break } } if(flag){ document.write(n+'是质数') } } num(prompt('请输入一个数字')) </script> </body> </html>
二、计数法,计算n%i === 0 的次数(1<=i<=n),当count值为2时说明n为质数,当n>2时说明n不是质数。
1 <!doctype html> 2 <html lang="en"> 3 <head> 4 <meta charset="utf-8"> 5 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 6 <title>document</title> 7 </head> 8 <body> 9 <script> 10 function num(n){ 11 var count=0 12 for(var i=1;i<=n;i++){ 13 if(n%i===0){ 14 count++ 15 } 16 } 17 if(count===2){ 18 document.write(n+'是质数') 19 } 20 else if(count>2){ 21 document.write(n+'不是质数') 22 } 23 } 24 num(prompt('请输入一个数字')) 25 </script> 26 </body> 27 </html>
输出一个区间的所有质数:https://www.cnblogs.com/strongerpian/p/12635632.html