Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

ค้นหาว่าตัวเลขที่กำหนดเป็นกำลัง 4 หรือไม่ใน C++


ในปัญหานี้ เราได้รับจำนวนเต็ม N หน้าที่ของเราคือ ค้นหาว่าจำนวนเต็มที่กำหนดให้เป็นยกกำลัง 4 หรือไม่ .

มาดูตัวอย่างเพื่อทำความเข้าใจปัญหากัน

Input : N = 64
Output : Yes

คำอธิบาย

43 = 64

แนวทางการแก้ปัญหา

วิธีแก้ปัญหาอย่างง่ายคือการหารตัวเลขซ้ำด้วย 4 และตรวจสอบว่าจำนวนผลลัพธ์หารด้วย 4 หรือไม่ หากค่าหลังการหารแบบเรียกซ้ำกลายเป็น 1 ให้คืนค่าเป็น จริง

ตัวอย่าง

โปรแกรมเพื่อแสดงการทำงานของโซลูชันของเรา

#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;
}

ผลลัพธ์

The number is not a power of 4