JS 求质数

质数:又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数。2是最小的质数也是唯一的一个既是偶数又是质数的数,也就是说除了2以外,质数都是奇数。

方法一:

for (var i = 2; i <= 10; i++) {//4
     //假设所有的数都是质数
   var flag = true;
     //通过嵌套循环找到 i 除了1 和本身以外所有可能出现的因子
   for (var j = 2; j < i; j++) {
     //判断 i 是否为质数
     if (i % j == 0) {//能进到当前的分支 说明不是质数
       flag = false;
     }
   }
     if (flag == true) {
     console.log(i);
   }
}

方法二:

 for (var i = 2; i <= 200; i++) {//4
     //假设所有的数都是质数
    var flag = true;
     //通过嵌套循环找到 i 除了1 和本身以外所有可能出现的因子
    for (var j = 2; j <= i / 2; j++) {
     //判断 i 是否为质数
         if (i % j == 0) {//能进到当前的分支 说明不是质数
            flag = false;
            break;
         }
     }
        if (flag) {
     // if (flag == true) {
     console.log(i);
     }
  }

方法三:


    l: for (var i = 2; i <= 20; i++) {//4
        //通过嵌套循环找到 i 除了1 和本身以外所有可能出现的因子
        for (var j = 2; j <= Math.sqrt(i); j++) {//16  8
            //判断 i 是否为质数
            if (i % j == 0) {//能进到当前的分支 说明不是质数
                continue l;
            }
        }
        console.log(i);
    }

PS:①求开平方

 console.log(Math.sqrt(64));//8

         ②求一个数的n次方

console.log(Math.pow(2,3));//8

 


版权声明:本文为boonyaxnn原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。