dist-javascript-algorithms-and-data-structures
Version:
Algorithms and data-structures implemented on JavaScript
33 lines (26 loc) • 673 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = isPowerOfTwo;
/**
* @param {number} number
* @return {boolean}
*/
function isPowerOfTwo(number) {
// 1 (2^0) is the smallest power of two.
if (number < 1) {
return false;
} // Let's find out if we can divide the number by two
// many times without remainder.
let dividedNumber = number;
while (dividedNumber !== 1) {
if (dividedNumber % 2 !== 0) {
// For every case when remainder isn't zero we can say that this number
// couldn't be a result of power of two.
return false;
}
dividedNumber /= 2;
}
return true;
}