判斷是否為素數?
質數(prime number)又稱素數,有無限個。質數定義為在大於1的自然數中,除了1和它本身以外不再有其他因數的數稱為質數。
合數,數學用語,英文名為Composite number,指自然數中除了能被1和本身整除外,還能被其他數(0除外)整除的數。與之相對的是質數(因數只有1和它本身,如2,3,5,7,11,13等等,也稱素數),而1既不屬於質數也不屬於合數。最小的合數是4。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>素數:只能被1和它本身整除。</title> </head> <body> <form action=""> <h1>判斷素數</h1> 請輸入一個整數:<input type="text" id="int"><br> 判 斷 結 果:<input type="text" id="result"><br> <input type="button" value="判斷" onclick="judge()"> </form> <script> function judge(){ var x=document.getElementById("int").value; var r=document.getElementById("result"); if(isNaN(x)==true){ alert("請輸入合法數字!!!"); } else { if(x==1){ r.value="1既不是素數也不是合數"; }else if(x==2){ r.value="2是素數"; }else{ for(var i=2;i<x;i++){ if(x%i==0){ r.value=x+"不是素數"; break; } } if(i==x){ r.value=x+"是素數"; } } } } </script> </body> </html>
值得注意的是:在這裡我們可以使用isNaN()方法來判斷用戶輸入是否合法:
alert(isNaN(NaN)); //true alert(isNaN(10)); //false(10是一個數值) alert(isNaN("10"));//false(可以被轉化成數值10) alert(isNaN("blue"));//true( 不能被轉化成為數值) alert(isNaN(true));//false(可以被轉化成數值1)
以上就是本文的全部內容,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,同時也希望多多支持!