Program C++ untuk menghitung KPK

Masih ada kaitannya dengan Program pencari FPB, Kali ini penulis akan membagikan program c++ untuk mencari nilai KPK (Kelipatan Persekutuan Terkecil)

Berikut programnya :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include<iostream>
using namespace std;
    
double DMOD(double a,double b){//fungsi kustom modulo untuk tipe data double
    long c=1;
    double d=1;
    c=a/b;
    d=a/b;
    return b*(d-c);
}
    
int main(){
    double a=0,b=0,v=0,z=1,FPB=1,e=1,f=1;
    bool c=1,d=1;
    cout<<"Masukan nilai a dan b." <<endl;
    cout<<"a=" ;cin>>a;
    cout<<"b=" ;cin>>b;
    if (a<0){
        a*=-1;
        c=0;
    }
    else if (a==0){b=1;}
    if (b<0){
        b*=-1;
        d=0;
    }
    if (a<=b){v=a;}
    else if (b<a){v=b;}
    for (z=2;z<=v;z++){
        if ((DMOD(b,z)==0)&&(DMOD(a,z)==0)){
            b/=z;
            a/=z;
            FPB*=z;
            if (a<=b){v=a;}
            else if (b<a){v=b;}
        }
        if ((DMOD(b,z)==0)&&(DMOD(a,z)==0)){z--;}
    }
    cout<<"KPK\t= " <<(e*f)/FPB;
}

DEMO

Demo Program

Lalu bagaimana cara supaya program tersebut dapat berjalan untuk bilangan yang lebih dari dua

Seperti saat membuat program FPB menjadi berulang program KPK juga begitu yaitu dengan mengubah program diatas menjadi fungsi kustom lalu lakukan operasi KPK menggunakan program diatas secara berulang.

Berikut Tampilan programnya :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#include<iostream>
using namespace std;
    
double DMOD(double a,double b){//fungsi kustom modulo untuk tipe data double
    long c=1;
    double d=1;
    c=a/b;
    d=a/b;
    return b*(d-c);
}
    
double FPB(double a,double b){
    double v=0,z=1,FPB=1;
    bool c=1,d=1;
    if (a<0){
        a*=-1;
        c=0;
    }
    else if (a==0){b=1;}
    if (b<0){
        b*=-1;
        d=0;
    }
    if (a<=b){v=a;}
    else if (b<a){v=b;}
    for (z=2;z<=v;z++){
        if ((DMOD(b,z)==0)&&(DMOD(a,z)==0)){
            b/=z;
            a/=z;
            FPB*=z;
            if (a<=b){v=a;}
            else if (b<a){v=b;}
        }
        if ((DMOD(b,z)==0)&&(DMOD(a,z)==0)){z--;}
    }
    return (e*f)/FPB;
}
int main(){
    double a=0,fpb=1;
    int b=0;
    cout<<"Masukan Jumlah Bilangan : " ;cin>>b;
    for (int i=0;i<b;i++){
        cout<<"Bilangan ke-" <<i+1<<" = " ;cin>>a;
        if (i==0){
            fpb=a;
        }
        fpb=FPB(a,fpb);
    }
    cout<<"KPK\t= " <<fpb;
}

DEMO

Demo Program

Baik itu saja dari penulis, semoga postingan ini dapat membantu, terimakasih sudah berkunjung di blog saya

Subscribe to receive free email updates:

0 Response to "Program C++ untuk menghitung KPK"

Posting Komentar