将一个正整数分解质因数.例如:输入90,打印出90=2*3*3*5

阅读 49

2022-03-10

// 题目: 将一个正整数分解质因数.例如:输入90,打印出90=2*3*3*5
// 首先判断是不是质数
function primeCheck(n) {
  for (var i = 2; i < n; i++) {
    if (n % i == 0) {
      return false;
    }
  }
  return true;
}

function prime(k) {
  var str = '';
  for (var t = 2; t < k; t++) {
    if (k % t == 0) { //遍历筛选出能被整除且是质数的数
      if (primeCheck(t)) {
        // 字符串拼接
        str += t + '*';
        k /= t;
        t = 1;
      }

    }
  }
  str += k //最后一个必然是质数,必然不会被小于它的数整除
  return str;
}

var a = prime(90);
console.log(a); //2*3*3*5

精彩评论(0)

0 0 举报