Cần viết hàm JavaScript nhận hai số m và n. Hàm kiểm tra m có phải là lũy thừa của n hay không. Nếu có trả về true, ngược lại false.
Ví dụ:
m = 8, n = 2 trả về true m = 100, n = 10 trả về true m = .01, n = 10 trả về true m = 21, n = 3 trả về false
Ví dụ
const isPower = (m, n) => {
let sign = m < 1;
if (!m) {
return false;
};
while (m !== 1) {
if (sign) {
m *= n;
}
else {
m /= n;
}
if (sign ? m > 1 : m < 1) {
return false;
}
};
return true;
}
console.log(isPower(0.01, 10));
console.log(isPower(1000, 10));
console.log(isPower(1001, 10));
console.log(isPower(8, 2));
console.log(isPower(0.125, 2));
Kết quả
Điều này sẽ tạo ra đầu ra sau:
true true false true true