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

Tìm xem một số nguyên đã cho có phải là lũy thừa của 3 hay không trong C ++

Trong bài toán này, chúng ta được cung cấp một số nguyên N. Nhiệm vụ của chúng ta là tìm xem một số nguyên đã cho có phải là lũy thừa của 3 hay không .

Hãy lấy một ví dụ để hiểu vấn đề,

Input : N = 729
Output : Yes

Giải thích -

36 = 719

Phương pháp tiếp cận giải pháp

Giải pháp cho vấn đề là bằng cách kiểm tra giá trị là lũy thừa của 3. Chúng tôi sẽ kiểm tra xem số N đã cho có chia cho 1162261467 hay không (3 19 ). Nếu nó là lũy thừa của 3, phần còn lại với 0 tức là N sẽ chia nó. Nếu không, số không phải là lũy thừa của 3.

Ví dụ

Chương trình minh họa hoạt động của giải pháp của chúng tôi

#include <iostream>
using namespace std;
bool isPowerOf3(int n){
   if (n <= 0)
      return false;
   return 1162261467 % n == 0;
}
int main(){
   int n = 27;
   if (isPowerOf3(n))
      cout<<"The number is a power of 3";
   else
      cout<<"The number is not a power of 3";
   return 0;
}

Đầu ra

The number is a power of 3