Chúng tôi được yêu cầu viết một hàm JavaScript nhận vào một số và trả về một số có thể được biểu diễn dưới dạng lũy thừa của 2 mà gần với số đầu vào nhất.
Ví dụ:Nếu số đầu vào if 145.
Khi đó kết quả đầu ra phải là 128 vì 145 là số gần nhất với 128 có thể được biểu thị là 2 ^ n cho một số giá trị số nguyên nào đó của n.
Ví dụ
Mã cho điều này sẽ là -
const num = 145;
const nearestPowerOfTwo = num => {
// dealing only with non negative numbers
if(num < 0){
num *= -1;
}
let base = 1;
while(base < num){
if(num - base < Math.floor(base / 2)){
return base;
};
base *= 2;
};
return base;
};
console.log(nearestPowerOfTwo(num)); Đầu ra
Đầu ra trong bảng điều khiển -
128