js小白:找出100以内的所有质数,渡一课程回顾

      function prime (n) {
        var n = parseInt(n) || 100;
        var arr = [];
        var obj = {};
        for(var i = 1;i <= n;i++){
          obj.i = [];
          for(var j = 1;j <= i;j++){
            if(i%j === 0){
              obj.i.push(j);
            }
          }
          if(obj.i.length <= 2){
            arr.push(i);
          }
        }
        return arr;
      }
      
      console.log(zhishu(100));

思路: 质数是只能被1和自己整除的整数.能通过被整除的次数来判断是否是质数.

课程上的方法:

        function prime (n) {
        var arr = [];
        var count = 0;
        for(var i = 2;i <= n;i++){
          for(var j = 1;j <= Math.sqrt(i); j++){
            //这里是有算法存在,能减少循环次数.
            if(i%j === 0){
              count++;
            }
          }
          if(count == 1){
            arr.push(i);
          }
          count = 0;
        }
        return arr
      }

你可能感兴趣的:(js小白:找出100以内的所有质数,渡一课程回顾)