Dalam matematika, Faktor Persekutuan Terbesar (FPB)  adalah bilangan bulat positif terbesar yang dapat membagi habis kedua bilangan itu.
Cara sederhana dapat digunakan untuk mencari FPB dari 2 atau 3 bilangan yang tidak terlalu besar, namun untuk bilangan yang lebih besar sebaiknya menggunakan cara faktorial.sebagai conoh amati kasus di bawah ini.
Mencari FPB dari 12 dan 20:
* Faktor dari 12 = 1, 2, 3, 4, 6 dan 12
* Faktor dari 20 = 1, 2, 4, 5, 10 dan 20
jadi  FPB dari 12 dan 20 adalah faktor sekutu (sama) yang terbesar, yaitu 4.
 bila masih belum paham juga logika anda saya akan membantu dalam bahasa pemograman C++ dalam bentuk class Overloading .berikut adalah program nya silahkan dipahami dan di mengerti. 


#include<iostream.h>
#include<conio.h>
    class FPB{
       friend ostream& operator<<(ostream&,FPB&);
      friend istream& operator>>(istream&,FPB&);
   public:
       FPB();
      void hitung_fpb(){
                  r=a%b;
                    while (r !=0)
                    {
                    a=b;
                    b=r;
                    r=a%b;
                    }
               ;}
   private:
       int a,b,r;
      };
   FPB::FPB(){
       cout<<"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"<<endl;
      cout<<"\tProgram untuk mencari bilangann FPB"<<endl;
      cout<<" \t\t * salam sukses *"<<endl;
      cout<<"_________________________________________________"<<endl;
      }
   istream& operator>>(istream& in,FPB& mlebu){
       cout<<"masukan angka A : ";
      in>>mlebu.a;
      cout<<"masukan angka B : ";
      in>>mlebu.b;
      return in;
      }
   ostream& operator<<(ostream& out,FPB& metu){
       cout<<"FPB dari bilangan A dan B adalah : ";
      out<<metu.b;
       return out;
      }
   main(){
       FPB z;
      cin>>z;
      z.hitung_fpb();
      cout<<z;
      getch();
      return 0;
      }


Selamat mencoba, jika anda belum berhasil dan penasaran dengan caranya, silahkan hubungi saya dengan meninggalkan unek-unek nya di sini.  semoga dapat membantu masalah anda.