JS -101到200之间的素数

素数:一个大于1的自然数,除了1和它本身外,不能被其他自然数整除

解题思路:

  1. 看题目,101到200之间的素数,那我们首先写一个for循环来遍历101到200之间的数
<script>
	//遍历101到200之间的数
       for(var i = 101;i <= 200; i++){
       
       }
</script>
  1. 看素数的特点,除了1和它本身外,不能被其他自然数整除,**那就是只能被1和自身整除 ,**这时我们就可以再写一个循环,循环 1i 之间的数字
<script>
	//遍历101到200之间的数
       for(var i = 101;i <= 200; i++){
       		//循环遍历 1 - i 之间的数
       		for(var j = 1;j <= i ;j ++){
       		}
       }
</script>
  1. 现在就需要判断,判断 i 取余 1 - i 之间为 0 的数 ,判断完了需要一个变量统计 i 取余 1 - i 之间为 0 的数 统计是为了后边判断素数
<script>
	//遍历101到200之间的数
       for(var i = 101;i <= 200; i++){
       		//循环遍历 1 - i 之间的数
       		var count = 0;    //变量统计 i 取余 1  - i 之间为 0 的数 
       		for(var j = 1;j <= i ;j ++){
       			//判断 i 取余 1 - i 为 0 的数
       			if(i % j == 0){
       				count ++;   //统计i 取余 1-i 之间为0的数字 
                                //【如:i= 4的时候 i 取余 1 == 0  i 取余 2 == 0 i 取余 4 == 0 那么 count变量就会++三次 就不符合只能被1和自身整除,所以需要继续判断!】
       				continue;  // 判断完 就跳出本次循环让 j 在自增继续判断,直到 j > i 的时候就执行外层循环
       			}
       		}
       }
</script>
  1. 最后一步,还是根据素数的特点,只能被1 和自身整除,而上一步也列举出了count 的结果,所以还需要最后一步判断 ,如果 count == 2 的话, 那这个数就是素数 ,就可以打印出来

完整代码如下

<script>
        //遍历101到200之间的数
        for(var i = 101;i <= 200; i++){
            //遍历j到i之间的数判断出是否能被1和自身整除
            var sum = 0;   //定义变量记录i 取余 1-i 之间为 0 的数 【i循环内写用完就清空】

            for(var j = 1;j <= i; j++){
                //判断 i 取余 1 - i 为 0 的数
                if(i % j == 0){   //可判断符合 i 取余 1-i 为 0 的数
                    count ++;        //统计i 取余 1-i 之间为0的数字 
                                //【如:i= 4的时候 i 取余 1 == 0  i 取余 2 == 0 i 取余 4 == 0 那么 sum变量就会++三次 就不符合只能被1和自身整除】
                    continue;
                }
            }
            if(count == 2){    //素数只能被1和自身整除,所有sum == 2的时候表示 i 能被1和自身整除
                console.log(i);  //打印出符合条件的数
                
            }
        }
    </script>

几 —— 几 之间的素数,只需要改变最外层101 200这两个数字即可

发布了17 篇原创文章 · 获赞 3 · 访问量 663

猜你喜欢

转载自blog.csdn.net/weixin_42207353/article/details/104074967
今日推荐