题目:
创建一个名称为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'
};
我的感受:
真的,别人看上去特别智能,我的看上去特别憨厚老实。