Computer >> Máy Tính >  >> Lập trình >> C ++

Sức mạnh Toán học trong C ++


Bậc của một số là số lần một số được nhân với chính nó. Còn được gọi là số mũ hoặc chỉ số.

a để lũy thừa b là b nhân với a nhân với chính nó b lần. 7 đến lũy thừa 2 là 7 2 còn được gọi là 7 ô vuông có giá trị 49.

Một số giá trị công suất phổ biến là -

  • Một số lũy thừa 0 sinh ra 1.

  • Một số đối với lũy thừa 1 cho cùng một số, như đã nói một số nhân với một lần cũng giống nhau.

  • Một số có lũy thừa là n lần chia. Ví dụ, một -3 =1 / a 3 hoặc (1 / a) * (1 / a) * (1 / a)

Bây giờ, chúng ta hãy lập trình dựa trên khái niệm sức mạnh.

Trong bài toán này, ta được hai số N và a. Và chúng ta phải tìm xem N có bằng a với lũy thừa của một số nào đó hay không.

Hãy lấy một ví dụ để hiểu vấn đề,

Đầu vào - N =64, a =2

Đầu ra - Có

Một giải pháp đơn giản và hiệu quả sẽ là một phép chia đệ quy của số. Nếu nó chia hoàn toàn số cho đến cuối thì trả về TRUE, ngược lại là FALSE.

Ví dụ

Chương trình cho thấy việc triển khai giải pháp của chúng tôi

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

Đầu ra

625 is a power of 5