质数是指在大于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
如对本文有疑问, 点击进行留言回复!!
同事牛逼啊,写了个隐藏 bug,我排查了 3 天才解决问题!
【JavaScript笔记(一)】万丈高楼平地起 - 基本概念篇
轻松解决 org.apache.taglibs.standard.tlv.JstlCoreTLV 困惑
网友评论