打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
用JS怎么取出100以内的质数
<script>
var sum = 0; //定义一个变量装和
var zhisu = "";
for(var i=2 ;i<=100;i++){ //从1到100加
var a = true;
for(var j=2;j<i;j++){
if(i%j==0){
a = false;
break;
}
}
if(a){
zhisu+=+i
sum+=i; //等于sum = sum + i
}
}
document.write("质数有:"+zhisu);
document.write("<br>")
document.write("总和为:"+sum);
</script>
******************************************************
​<script>
 var sum = 0; //定义一个变量装和
 var zhisu = "";
 for(var i=2 ;i<=100;i++){ //从1到100加
  var a = true;
  for(var j=2;j<i;j++){
   if(i%j==0){
    a = false;
    break;
   }
  }
  if(a){
   zhisu+=+i +","
   sum+=i; //等于sum = sum + i
  }
 }
 document.write("质数有:"+zhisu);
 document.write("<br>")
 document.write("总和为:"+sum);
</script>
​************************质数间由逗号分开了。
​**********************************************************
解决方案二:
 <script type="text/javascript">    var prime = function(len){        var i,j;        var arr = [];        for(i = 1; i < len; i++){            for(j=2; j < i; j++){                  if(i%j === 0) {                    break;                }            }            if(i <= j && i !=1){                arr.push(i);            }          }          return arr;    };    document.write(prime(100));</script>
解决方案三:
 <script type="text/javascript">    function getPrimes(range){        var primes = [];        for(var i = 2; i <= range; i ++){            if(isPrime(i)){                primes.push(i);            }        }           return primes;    }    function isPrime(pri){        var flag = true;        for(var i = 2; i <= pri / 2 ; i ++){            if(pri % i == 0){                flag = false;                break;            }           }        return flag;    }    var primes = getPrimes(100);    var msg = "";    for(var i = 1 ; i <= primes.length ; i ++){        msg += primes[i-1] + " ";        if(i % 10 == 0){             msg += "n";        }    }    alert(msg); </script>

​*********************************
​有问题的代码:
 1 <!DOCTYPE html> 2 <html> 3     <head> 4         <meta charset="UTF-8"> 5         <title></title> 6         <script type="text/javascript"> 7              8             /* 9              * 打印出1-100之间所有的质数10              */11             12             //----------------------------------------------------------------------------13             14             //打印2-100之间所有的数15             for(var i=2 ; i<=100 ; i++){16                 17                 //创建一个布尔值,用来保存结果,默认i是质数18                 var flag = true;19                 20                 //判断i是否是质数21                 //获取到2-i之间的所有的数22                 for(var j=2 ; j<i ; j++){23                     24                     //判断i是否能被j整除25                     if(i%j == 0){26                         //如果进入判断则证明i不是质数,修改flag值为false27                         flag = false;28                         29                     }30                     31                 }32                 33                 //如果是质数,则打印i的值34                 if(flag){35                     console.log(i);36                 }37                 38             }39             40             41         </script>42     </head>43     <body>44     </body>45 </html>
​**************************************
​错误输出结果为:1 2 3 4 5 6 42 43 44 45
​正确输出结果为为:2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
V1.3循环实例最大数 质数.html
015.利用数组求前n个质数
Extjs----Ext.Message以及Window弹出窗口
[原]图片加载进度实时显示
continue关键字
JavaScript 函数用法实例
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服