三种求素数的方法

  • 1.最近刚开始接触这些,看到写了好多有关求素数的代码,,来点小总结

   第一种:这种可能比较容易理解,首先定义计数器,然后根据技术器I的值进行if判断

//    <!--5.计算100--200之间素数个数 -->
  

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


        第二种:这种和函数相关,可能也是以后用到的比较多的,因为以后的编程好多都得通过函数的封装来不断的调用,这样子可以减少代码的冗余。这种方法可以先定义一个判断一个数是否素数的函数,然后再去创建一个区间内求某个素数的函数,最后根据判断调用即可,当然也可以直接一个函数搞定。

//<!--2.计算100-200之间所有素数的和-->
        /*<!--判断一个数是否为素数-->*/
      

  function isPrime(m){
        for(var i=2;i<m;i++){
            if(m%i==0){
                return false;
            }
        }
        return true;
    }
                function find(){
            var num=0;
            for(var i=100;i<=200;i++){
                if(isPrime(i)){
                    num+=i;
                }
            }
            document.write(num);
        }
        find();

第三种:

这种方法也涉及到了函数的调用,不过这种方法是通过设置一个boolean值来进行判断,如果为素数,flag=true,否则为true,当然可以根据自己的习惯来定义。这种方法比较常用。

function jisuan(m,n){
        var count=0;
        for(var i=m;i<=n;i++){
            var flag=true;
            for(var j=2;j<i;j++){3
                if(i%j==0){
                    flag=false;
                }
            }
            if(flag){
                console.log(i);
                count++;
            }        
        }
        return count;
    }
    alert(jisuan(100,200));

以上方法只是我自己总结的,如有不足还请指教!!!

猜你喜欢

转载自blog.csdn.net/weixin_41022957/article/details/81916723