mathball
Version:
A JavaScript library for Competitive Programming
29 lines (26 loc) • 551 B
JavaScript
;
/* 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;
};