Menghitung FPB dengan C++

#include <iostream.h>
#include <conio.h>

class FPB{
   friend ostream& operator<<(ostream&, FPB&);
   friend istream& operator>>(istream&, FPB&);

public:
   int hitungFPB(int, int);

private:
   int x,y;
         };

int FPB::hitungFPB(int c, int d){
  int r;
   while (d>0){
       r=c%d;
       c=d;
       d=r;}
             return (c);}

istream& operator >>(istream& in, FPB& a){
   cout<<"Masukkan bilangan Pertama: "; in>>a.x;
   cout<<"Masukkan bilangan Kedua  : "; in>>a.y;
   return in;                 }

ostream& operator<<(ostream& out, FPB& a){
   out<<"FPB dari "<<a.x<<" & "<<a.y<<" adalah:  ";
   out<<a.hitungFPB(a.x,a.y);
   return out;}

int main(){
  FPB reza;
cin>>reza;
cout<<reza;
getch();

}

Penjelasannya gan:
 inti dari program ini sebenarnya ada di while (d>0){r=c%d; c=d; d=r;}.
di situ terdapat rumus dan ketentuan-ketentuannya. biar lebih jelas langsung ajha contohnya gan..
misal menghitung FPB dari 60 dan 100.
kita anggap r= sisa pembagian
rumus r= 100 % 60; r= 40 tyus
      r= 60 % 40; r= 20 tyus
      r=40 % 20;  r=0.
jadi FPB nya adalah 20 (pembagi yang menghasilkan r=0).

Posting Komentar

2 Komentar