前几天一个小学弟问我:”你能不能写出个求质数的程序?“
我感觉这不是小看我吗,我知道他最近在学C语言,于是写了这个网页形式的给他发过去了。
完整代码如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
<title>用js实现求质数 </title>
</head>
<script type="text/javascript">
window.οnlοad=function(){ //打开浏览器就开始加载
document.getElementById("btn1").οnclick=function(){//给btn1注册点击事件
var num=parseInt(document.getElementById("text").value);
document.getElementById("he").value=num+"以内的质数和是";
var str="";
var sum=0;
for(var i=2;i<=num;i++){
var flag=true;
for(var j=2;j<=Math.sqrt(i);j++){ //j<=Math.sqrt(i)这里一定是i,要不小于这个j的质数就自动忽略了
if(i%j==0){ //能有整除的数就跳出本次循环
flag=false;
break;
}
}
if(flag==true){
sum+=i;
str=str+i+" ";//j正常跳出循环,则表明i是质数
}
}
if(num>1 && (typeof num)=="number"){//输入的数符合规则才执行运算
document.getElementById("tb1").value=str;
document.getElementById("tb2").value=sum;
}
else{
alert("输入的数字有错,请正确输入");
}
};
};
</script>
<body>
请输入所求数的最大值(2-n):
<input type="text" id="text"><br><br>
<input type="button" value="获取质数" id="btn1"><br><br>
<textarea cols="20" rows="10" id="tb1"></textarea>
<br><br>
<input type="button" id="he" value="所有质数的和" disabled> <input type="text" id="tb2">
</body>
</html>