<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
请输入一个数:<input id="numText" type="text" />
<input type="button" value=" 是否为素数 " onclick ="testf()" />
<input id="resultText" type="text" />
</body>
</html>
<script type="text/javascript">
//判断一个数是不是合数。(能被1和自身以外的数整除)
//素数:又称质数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;否则称为合数。
//分析:通过循环的方式,从2循环到需要判断的数的前一个数,进行尝试,如果一旦有数能够整除,那就是合数。
//方法一:
function testf(){
//1、(输入)获得文本框的内容
var num = Number(document.getElementById("numText").value);
//2、逻辑
var isHe = false;//假定不是合数,假定没有因数出现
for(var i=2;i<=num-1;i++){
if(num%i==0){
isHe = true;//有因数出现了。
break;
}
}
if(isHe==true){
document.getElementById("resultText").value="是合数";
}else{
document.getElementById("resultText").value="不是合数";
}
}
//方法二:
function testf(){
//1、(输入)获得文本框的内容
var num = Number(document.getElementById("numText").value);
//2、逻辑
var count=0;//记录因数的个数
for(var i=2;i<=num-1;i++){
if(num%i==0){
count++;
//break;
}
}
//3、输出
if(count>0){
document.getElementById("resultText").value="是合数";
}else{
document.getElementById("resultText").value="不是合数";
}
}
//方法三
function testf(){
//1、(输入)获得文本框的内容
var num = Number(document.getElementById("numText").value);
//2、逻辑
for(var i=2;i<=num-1;i++){
if(num%i==0){
break;
}
}
//3、输出
if(i>num-1){//说明循环正常结束(没有经过break)
document.getElementById("resultText").value="是素数";
}else{//说明是被break终止的
document.getElementById("resultText").value="是合数";
}
}
</script>
//功能:判断一个数是不是素数(除了1和它本身以外,再没有因数了)
//参数:整数
//返回值:true:是;false:否;
function isSuShu(num){//num是形参
for(var n=2;n<=num-1;n++){
if(num%n==0){
return false;//return 结束函数的运行,终止函数。
}
}
return true;
}