Trong bài toán này, chúng ta được cho một số nguyên N. Nhiệm vụ là kiểm tra xem số nguyên có phải là lũy thừa của 4 hay không.
Ví dụ minh họa
Input: N = 64 Output: Yes
Giải thích: 43 = 64
Phương pháp giải
Chia liên tục số cho 4 và kiểm tra xem số dư có bằng 0 không. Nếu sau khi chia liên tục kết quả bằng 1, trả về true.
Ví dụ chương trình
#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 << "Số này là lũy thừa của 4";
else
cout << "Số này không phải lũy thừa của 4";
return 0;
}
Kết quả
Số này không phải lũy thừa của 4