本文实例讲述了javascript实现计算指定范围内的质数。分享给大家供大家参考,具体如下:
本文实例讲述了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 计算 指定范围内 质数 计算质数