UNPKG

mathball

Version:

A JavaScript library for Competitive Programming

38 lines (29 loc) 835 B
'use strict'; /* Palindromic Number * Function: isPalindrome() * Function: rangePal() --> to return all palindromic numbers from 0 to end */ var validate = require('../validation/non-negative-integer'); exports.check = function (num) { validate(num, 'isPalindrome'); return num == num.toString().split('').reverse().join(''); }; exports.range = function (start, end) { validate(start, 'rangePal'); validate(end, 'rangePal'); if (start > end) { throw new TypeError('Starting number must be smaller than the ending number!!\n'); } var palinList = [], lim = 0; lim = end < 10 ? end : start; for (var i = start; i < lim; i++) { palinList.push(i); } for (var _i = lim; _i < end; _i++) { if (_i.toString() === _i.toString().split('').reverse().join('')) { palinList.push(_i); } } return palinList; };