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

พลังในวิชาคณิตศาสตร์ใน C++


กำลังของตัวเลขคือเวลาที่ตัวเลขนั้นคูณกับตัวมันเอง รู้จักเป็น เลขชี้กำลังหรือดัชนี

a ยกกำลัง b คือ b คูณ a คูณด้วยตัวมันเอง b คูณ 7 ยกกำลัง 2 ได้ 7 2 หรือเรียกอีกอย่างว่า 7 ตาราง มีค่า 49.

ค่ากำลังทั่วไปบางค่าคือ −

  • เลขยกกำลัง 0 ให้ 1.

  • เลขยกกำลัง 1 ให้จำนวนเท่ากัน ตามที่ระบุบางตัวคูณครั้งเดียวจะเท่ากัน

  • จำนวนยกกำลังลบคือ n คูณหาร ตัวอย่าง -3 =1/a 3 หรือ (1/a)*(1/a)*(1/a)

ตอนนี้ มาเขียนโปรแกรมตามแนวคิดเรื่องพลังกัน

ในปัญหานี้เราได้รับสองตัวเลข N และ a และเราต้องหาว่า N เท่ากับ a ยกกำลังจำนวนหนึ่งหรือไม่

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

ป้อนข้อมูล − N =64 , a =2

ผลลัพธ์ - ใช่

วิธีแก้ปัญหาที่ง่ายและมีประสิทธิภาพคือการหารจำนวนแบบเรียกซ้ำ ถ้ามันหารตัวเลขจนจบได้อย่างสมบูรณ์ คืนค่า TRUE มิฉะนั้น FALSE

ตัวอย่าง

โปรแกรมแสดงการใช้งานโซลูชันของเรา

#include <iostream>
using namespace std;
bool isAPowerNumber(int x, long int y) {
   if (x == 1)
      return (y == 1);
   long int power = 1;
   while (power < y)
      power *= x;
   return (power == y);
}
int main() {
   int N = 625 , a = 5;
   if(isAPowerNumber(a, N))
      cout<<N<<" is a power of "<<a;
   else
      cout<<N<<" is not power of "<<a;
   return 0;
}

ผลลัพธ์

625 is a power of 5