JavaScript-判断一个数是否为质数

方法一:

<script type="text/javascript">
			var count = 0;
			var n = prompt("请输入一个正整数");
			if(n<=0){
				alert("请输入一个正整数");
			}else{
				for (var i = 2; i <= n; i++) {
				    if (n % i == 0) {		//计算该数的因数有几个
				        count++;			//除去了除1的情况,考虑到2比较特殊,未除去除以其数本身的情况
				    }						//故count至少为1
				}
				if (count > 1 || count == 0) {	//count为0是num为1时,1不是质数
				    alert(n+'不是质数');
				}
				else {
				    alert(n+'是质数');
				} 
			}      
		</script>

方法二:

与方法一原理相似,只是在开始进行if判断时就除去了num=2的情况。

<script type="text/javascript">
			var num,i;
			num=parseInt(prompt("输入所需判断的整数:"));
			if(num<2){
				alert("不是质数");
			}else if(num==2){
				alert("质数");
			}else{
				for(i=2;i<num;i++){
					if(num%i==0){
						//alert("不是质数");
						break;	
					}
					// else{
					// 	alert("质数");						表达一
					// 	break;
					// }
				}
				if(i>=num){								//表达二
					alert("质数");
				}else{
					alert("不是质数");
				}
			}
		</script>

拓展——写出1到100的质数:

<script type="text/javascript">
			//var count = 0;
			for(var i = 1; i < 100; i++){
				var count = 0;
				for(var j = 1; j <= i; j++){
					if(i % j == 0){
						count++;
					}
				}
				if(count == 2){
					document.write(i + " ");
				}
				//count = 0;
			}
		</script>

注意:如果count不是在for循环中定义的,那么就需要在count是否等于2判断之后,再将count重置为0,如注释所示。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值