Senin, 11 Desember 2017

Program Mencari Pangkat (Akar) Rekursif di C++

Cara menghitung pangkat adalah dengan mengalikan bilangan itu sebanyak bilangan pangkat, misalnya : 2^3 = 2x2x2 = 8. Jika rumus tersebut dituangkan ke dalam program C++, maka akan seperti berikut :


Program :

#include<iostream>
using namespace std;

int pangkat(int bil, int n)
{
if (n==1)
{
return bil;
}
else if (n==0)
{
return 1;
}
else
{
return bil*pangkat(bil,n-1);
}
}

int main()
{
int x,y,i;
cout<<" masukan bilangan : ";
cin>>x;
cout<<" masukan pangkat : ";
cin>>y;
cout<<" Hasil : "<<pangkat(x,y)<<endl;
cout<<x<<"^"<<y<<" = ";
for (i=1; i<=y;i++)
{
cout<<x;
if (i==y)
{
cout<<" ";
}
else
{
cout<<"*";
}

}
return 0;

}

Namun, bagaimana kalau kita mau mencari kebalikan nya yaitu mencari pangkat (akar), berikut contoh program nya (program yang saya contohkan untuk bilangan 2) :


Program :

#include<iostream>
using namespace std;
int no=0;
int pangkat(int a)
{
if (a==1)
{
return 1;
}
else
{
a-pangkat(a/2);
no++;
}
}

int main()
{
int x,y;
cout<<" masukan bilangan : ";
cin>>x;
pangkat(x);
cout<<"2 ^ "<<no;
return 0;

}

Sekian sedikit ilmu yang dapat saya tulis, semoga dapat berguna menambah ilmu / membantu dalam pengerjaan tugas.

1 komentar: