Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * @param {number} n
- * @return {boolean}
- */
- const reducer = (accumulator, currentValue) => accumulator + currentValue;
- var getDigits = function(n) {
- let digits = [];
- let sNumber = n.toString();
- for (let i = 0, len = sNumber.length; i < len; i += 1) {
- digits.push(+sNumber.charAt(i));
- }
- return digits;
- }
- var square = function(n) {
- return n * n;
- }
- var isHappy = function(n) {
- let happy = false;
- // Special case for n == 1
- if (n == 1) {
- return true;
- }
- while (n != 1) {
- n = getDigits(n).map(x => square(x)).reduce(reducer);
- if (n == 1) {
- happy = true;
- }
- }
- return happy;
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement