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

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


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

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

Input : N = 729
Output : Yes

คำอธิบาย

36 = 719

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

วิธีแก้ปัญหาคือโดยการตรวจสอบค่าที่เป็นกำลัง 3 เราจะตรวจสอบว่าตัวเลขที่ระบุ N หาร 1162261467 หรือไม่ (3 19 ). หากเป็นยกกำลัง 3 เศษที่เหลือเป็น 0 คือ N จะหารมัน หากไม่เป็นเช่นนั้น แสดงว่าจำนวนนั้นไม่ใช่ยกกำลัง 3

ตัวอย่าง

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

#include <iostream>
using namespace std;
bool isPowerOf3(int n){
   if (n <= 0)
      return false;
   return 1162261467 % n == 0;
}
int main(){
   int n = 27;
   if (isPowerOf3(n))
      cout<<"The number is a power of 3";
   else
      cout<<"The number is not a power of 3";
   return 0;
}

ผลลัพธ์

The number is a power of 3