Vấn đề
Chúng ta cần viết một hàm JavaScript nhận vào một số nguyên n và trả về hoặc:
- một số nguyên k nếu n là số chính phương, sao cho k * k == n hoặc
- một khoảng (k, k+1), sao cho k * k < n và n < (k+1) * (k+1).
Ví dụ
Dưới đây là mã:
const num = 83;
const squareRootRange = (num = 1) => {
const exact = Math.sqrt(num);
if(exact === Math.floor(exact)){
return exact;
}else{
return [Math.floor(exact), Math.ceil(exact)];
};
};
console.log(squareRootRange(num));
Kết quả
Kết quả console:
[9, 10]