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

Kiểm tra số nguyên có phải lũy thừa của 4 trong C++


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