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