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