1.Algoritma interatif dan rekursif untuk menghitung gcd dari dua bilangan bulat positif
Deklarasi
a,b --> integer
Deskripsi
inputkan angka ke a dan b.
beri fungsi di atas main ::
- Fungsi Rekursif
int gcd(int c, int d)
{
if (d==0) return(c);
if (c<d) return(gcd(d,c));
return(gcd(c-d, d));
}
2. Fungsi Iteratif
{ int r;
while (d > 0) {
r = c % d;
c = d;
d = r;
}
return (c);
}
Lalu panggil dan outputkan salah satu dari fungsi tadi gcd(a,b)
2.Sourch Code C++
#include <iostream>
#include <string>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
using namespace std;
void ptx(int m, int n, int r){
r=m%n;
if(r==0)
{
}
else
{
cout<<r<<endl;
m=n;
n=r;
ptx(m,n,r);
}
}
int main(int argc, char** argv) {
int m,n,r;
cout<<"Masukkan bilangan pertama : ";
cin>>m;
cout<<"Masukkan bilangan kedua : ";
cin>>n;
cout<<"Nilai m : "<<m<<endl;
cout<<"Nilai n : "<<n<<endl;
r=1;
ptx(m,n,r);
return 0;
}
Tanpa Rekursif
Dengan Rekursif
Output
0 komentar:
Posting Komentar