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

Chương trình C ++ để tính lũy thừa của một số

Lũy thừa của một số có thể được tính bằng x ^ y trong đó x là số và y là lũy thừa của nó.

Ví dụ.

Let’s say, x = 2 and y = 10
   x^y =1024
   Here, x^y is 2^10

Công suất của một số có thể được tính bằng cách sử dụng các chương trình đệ quy và không đệ quy. Mỗi cái trong số này được đưa ra như sau.

Sức mạnh của một số sử dụng chương trình không đệ quy

Chương trình tìm lũy thừa của một số bằng chương trình không đệ quy được đưa ra như sau -

Ví dụ

#include<iostream>
using namespace std;
int power(int x, int y) {
   int i,power=1;
   if(y == 0)
   return 1;
   for(i=1;i<=y;i++)
   power=power*x;
   return power;
}
int main() {
   int x = 3;
   int y = 4;
   cout<<"x = "<<x<<endl;;
   cout<<"y = "<<y<<endl;
   cout<<"x^y = "<<power(x,y);
   return 0;
}
x = 3
y = 4
x^y = 81

Trong chương trình trên, hàm power () được sử dụng để tính lũy thừa của một số. Nó là một hàm không đệ quy. Trong hàm, một vòng lặp for được sử dụng chạy từ 1 đến y. Đối với mỗi lần lặp lại của vòng lặp, x được nhân với lũy thừa.

Vì vậy, x được nhân với y lần và kết quả được lưu trữ dưới dạng lũy ​​thừa. Điều này dẫn đến x ^ y được lưu trữ trong quyền lực. Sau đó, nguồn được trả lại cho hàm main ().

Đoạn mã sau đây chứng minh điều này -

int power(int x, int y) {
   int i, power = 1;
   if(y==0)
   return 1;
   for(i=1;i<=y;i++)
   power = power*x;
   return power;
}

Trong hàm main (), các giá trị của x, y và x ^ y được hiển thị. Điều này được hiển thị trong đoạn mã được cung cấp bên dưới -

cout<<"x = "<<x<<endl;;
cout<<"y = "<<y<<endl;
cout<<"x^y = "<<power(x,y);

Sức mạnh của một số sử dụng chương trình đệ quy

Chương trình tìm lũy thừa của một số bằng chương trình đệ quy được đưa ra như sau.

Ví dụ

#include<iostream>
using namespace std;
int power(int x, int y) {
   if (y == 0)
   return 1;
   else if (y%2 == 0)
   return power(x, y/2)*power(x, y/2);
   else
   return x*power(x, y/2)*power(x, y/2);
}
int main() {
   int x = 3;
   int y = 4;
   cout<<"x = "<<x<<endl;;
   cout<<"y = "<<y<<endl;
   cout<<"x^y = "<<power(x,y);
   return 0;
}

Đầu ra

x = 3
y = 4
x^y = 81

Trong chương trình trên, power () là một hàm đệ quy. Nếu giá trị của y là 0, nó trả về 1. Nếu y chẵn, nó sẽ gọi một cách đệ quy chính nó với các giá trị x và y / 2 và trả về lũy thừa (x, y / 2) * lũy thừa (x, y / 2). Nếu y là số lẻ, nó sẽ gọi một cách đệ quy chính nó với các giá trị x và y / 2 và trả về x * power (x, y / 2) * power (x, y / 2). Điều này được chứng minh bằng đoạn mã sau.

int power(int x, int y) {
   if (y == 0)
   return 1;
   else if (y%2 == 0)
   return power(x, y/2)*power(x, y/2);
   else
   return x*power(x, y/2)*power(x, y/2);
}

Trong hàm main (), các giá trị của x, y và x ^ y được hiển thị. Điều này được hiển thị trong đoạn mã dưới đây.

cout<<"x = "<<x<<endl;;
cout<<"y = "<<y<<endl;
cout<<"x^y = "<<power(x,y);