codewars 6kyu Does my number look big in this?
题目大意:判断一个数是否是水仙花数。
function narcissistic(value) {
// Code me to return true or false
var temp = String(value).split("");
var ans = 0;
var n = temp.length;
for (let i = 0; i < n; i++) {
ans += Math.pow(temp[i], n);
}
return ans == value;
}
别人的题解,和我的一个意思,只不过他们用的感觉更像JS。
function narcissistic(value) {
return (
("" + value).split("").reduce(function (p, c) {
return p + Math.pow(c, ("" + value).length);
}, 0) == value
);
}
function narcissistic(value) {
return (
value
.toString()
.split("")
.map((x, i, arr) => x ** arr.length)
.reduce((a, b) => +a + +b) === value
);
}
narcissistic = (num) =>
num
.toString()
.split("")
.reduce(function (prev, el) {
return prev + Math.pow(el, String(num).length);
}, 0) == num;