函数_如何判断一个数是不是素数

<!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;
}


猜你喜欢

转载自blog.csdn.net/jiang7701037/article/details/80780690