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

Tìm xem một số đã cho có phải là lũy thừa của 4 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 4 hay không .

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

Input : N = 64
Output : Yes

Giải thích -

43 = 64

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

Một giải pháp đơn giản cho vấn đề là chia đệ quy số cho 4 và kiểm tra xem số kết quả có chia cho 4 hay không. Nếu giá trị sau phép chia đệ quy trở thành 1, trả về true.

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 isPowerOf4(int n){
   if(n == 0)
   return 0;
   while(n != 1)
   {
      if(n % 4 != 0)
         return 0;
      n = n / 4;
   }
   return 1;
}
int main(){
   int n = 123454;
   if (isPowerOf4(n))
      cout<<"The number is a power of 4";
   else
      cout<<"The number is not a power of 4";
   return 0;
}

Đầu ra

The number is not a power of 4