您好,登錄后才能下訂單哦!
本文實例講述了javascript實現計算指定范圍內的質數。分享給大家供大家參考,具體如下:
質數(prime number)又稱素數,有無限個。質數定義為在大于1的自然數中,除了1和它本身以外不再有其他因數的數稱為質數。
算法:判斷一個數是否是質數,只需判斷它是否能被小于它開跟后后的所有數整除,這樣做的運算就會少了很多,因此效率也高了很多。算法來源:《Java求質數的幾種常用算法》
javascript計算指定范圍內的質數源代碼:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>JavaScript獲取指定范圍內的質數</title> <style> body{word-break:break-all;word-wrap:break-word} </style> </head> <body> <script> function isPrimeNumber(v) {//判斷是否為質數 var s = Math.floor(Math.sqrt(v)); for (var i = s; i > 1; i--) if (v % i == 0) return false; return true; } function getPrimeNumber(min, max) {//獲取指定范圍內的質數集合 if (min > max) { var t = max; max = min; min = t;} var rst = []; for (var i = Math.max(2, min) ; i <= max; i++) if (isPrimeNumber(i)) rst.push(i); return rst; } var min = parseInt(prompt('請輸入最小數字')) || 0; var max = parseInt(prompt('請輸入最大數字')) || 0; document.write(min+'~'+max+'范圍內質數有:'+getPrimeNumber(min, max)); </script> </body> </html>
這里使用在線HTML/CSS/JavaScript代碼運行工具:http://tools.jb51.net/code/HtmlJsRun測試上述代碼,可得如下運行結果:
PS:這里再為大家推薦一款功能相似的在線工具供大家參考:
在線分解質因數計算器工具:
http://tools.jb51.net/jisuanqi/factor_calc
更多關于JavaScript相關內容還可查看本站專題:《JavaScript數學運算用法總結》、《JavaScript數據結構與算法技巧總結》、《JavaScript數組操作技巧總結》、《JavaScript事件相關操作與技巧大全》、《JavaScript操作DOM技巧總結》及《JavaScript字符與字符串操作技巧總結》
希望本文所述對大家JavaScript程序設計有所幫助。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。