Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Kiểm tra số có phải lũy thừa của số khác trong JavaScript


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