学习别人写的质数#JS_codewar_1

题目:

创建一个名称为divisor的方法,传入整数后,如果是质数则返回“xx is integer”,如果不是则返回除1以外的除数,以数组的形式。

Description:
Create a function named divisors that takes an integer and returns an array with all of the integer's divisors(except for 1 and the number itself). If the number is prime return the string '(integer) is prime' (use Either String a in Haskell).

我的方法:

function divisors(integer) {
    let box = [];
    let half = integer / 2;
    for (i=2; i<=half; i++) {
        let dd = integer % i;
        if (dd == 0) {
            box.push(i);
        }
    }
    if (box.length !== 0) {
        return box;
    } else {
        return integer + ' is prime'
    }
}

别人的方法:

function divisors(integer) {
  var res = []
  for (var i = 2; i <= Math.floor(integer / 2); ++i) if (integer % i == 0) res.push(i);
  return res.length ? res : integer + ' is prime'
};

我的感受:

真的,别人看上去特别智能,我的看上去特别憨厚老实。

你可能感兴趣的:(学习别人写的质数#JS_codewar_1)