您好,登錄后才能下訂單哦!
本文實例講述了javascript實現(xiàn)計算指定范圍內(nèi)的質(zhì)數(shù)。分享給大家供大家參考,具體如下:
質(zhì)數(shù)(prime number)又稱素數(shù),有無限個。質(zhì)數(shù)定義為在大于1的自然數(shù)中,除了1和它本身以外不再有其他因數(shù)的數(shù)稱為質(zhì)數(shù)。
算法:判斷一個數(shù)是否是質(zhì)數(shù),只需判斷它是否能被小于它開跟后后的所有數(shù)整除,這樣做的運算就會少了很多,因此效率也高了很多。算法來源:《Java求質(zhì)數(shù)的幾種常用算法》
javascript計算指定范圍內(nèi)的質(zhì)數(shù)源代碼:
<!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獲取指定范圍內(nèi)的質(zhì)數(shù)</title> <style> body{word-break:break-all;word-wrap:break-word} </style> </head> <body> <script> function isPrimeNumber(v) {//判斷是否為質(zhì)數(shù) 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) {//獲取指定范圍內(nèi)的質(zhì)數(shù)集合 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('請輸入最小數(shù)字')) || 0; var max = parseInt(prompt('請輸入最大數(shù)字')) || 0; document.write(min+'~'+max+'范圍內(nèi)質(zhì)數(shù)有:'+getPrimeNumber(min, max)); </script> </body> </html>
這里使用在線HTML/CSS/JavaScript代碼運行工具:http://tools.jb51.net/code/HtmlJsRun測試上述代碼,可得如下運行結(jié)果:
PS:這里再為大家推薦一款功能相似的在線工具供大家參考:
在線分解質(zhì)因數(shù)計算器工具:
http://tools.jb51.net/jisuanqi/factor_calc
更多關于JavaScript相關內(nèi)容還可查看本站專題:《JavaScript數(shù)學運算用法總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript數(shù)組操作技巧總結(jié)》、《JavaScript事件相關操作與技巧大全》、《JavaScript操作DOM技巧總結(jié)》及《JavaScript字符與字符串操作技巧總結(jié)》
希望本文所述對大家JavaScript程序設計有所幫助。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。