UNPKG

mathball

Version:

A JavaScript library for Competitive Programming

29 lines (26 loc) 551 B
'use strict'; /* Kaprekar Number * Function: isKaprekar() */ var validate = require('../validation/positive-integer'); exports.check = function (num) { validate(num, 'isKaprekar'); if (num == 1) { return true; } var sqNum = num * num; var countDigits = num.toString().length; var rDigits = 0; while (rDigits < countDigits) { rDigits++; var eqParts = Math.pow(10, rDigits); if (eqParts == num) { continue; } var sum = Math.floor(sqNum / eqParts) + sqNum % eqParts; if (sum == num) { return true; } } return false; };