/**
* Rounds a positive integer to the nearest power of 2.
* returns the nearest power of 2
*/
function roundToNearestPowerOf2(n: number): number {
if (n <= 0) return 0;
let prevPower: number = 1;
while (prevPower * 2 <= n) {
prevPower *= 2;
}
const nextPower: number = prevPower * 2;
return n - prevPower < nextPower - n ? prevPower : nextPower;
}
const num = 37;
console.log(`Nearest power of 2: ${roundToNearestPowerOf2(num)}`);
/*
run:
"Nearest power of 2: 32"
*/