Computer >> Máy Tính >  >> Lập trình >> Python

Kiểm tra xem một số có thể được biểu thị dưới dạng a ^ b trong Python hay không

Giả sử chúng ta có một số n. Chúng tôi phải kiểm tra xem chúng tôi có thể thực hiện nó giống như a ^ b hay không.

Vì vậy, nếu đầu vào là 125, thì đầu ra sẽ Đúng là 125 =5 ^ 3, do đó a =5 và b =3

Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -

  • nếu num giống 1, thì:
    • trả về true
  • để khởi tạo i:=2, khi i * i <=num, cập nhật (tăng i lên 1), thực hiện:
    • val:=log (num) / log (i)
    • nếu val - phần nguyên của val gần 0, thì:
      • trả về true
  • trả về false

Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -

Ví dụ

#include<iostream> #include<cmath> using namespace std; bool solve(int num) {    if (num == 1)       return true;      for (int i = 2; i * i <= num; i++) {       double val = log(num) / log(i);       if ((val - (int)val) < 0.00000001)          return true;    }        return false; }   int main() {    int n = 125;    cout << solve(n); }

Đầu vào

125

Đầu ra

1