Program untuk mencari nilai yang dapat dibagi dengan 2 bilangan

Berikut ini adalah program untuk mencari nilai yang dapat dibagi dengan 2 bilangan yang diinputkan sesuai user dan sesuai batasan yang diinputkan juga oleh user.

contoh :

pembagi pertama : 3
pembagi kedua : 5

batas bawah : 1
batas atas : 50

maka outpunya : 45, 30 dan 15

Daripada penasaran, mending langsung kita intip aja programnya..🙂

======================Flowchart======================

main();
Literatif();
Rekursif();

<<<<<<<<<<<<<<<<<<<<<<versi C++ nya>>>>>>>>>>>>>>>>>>>>>>

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

using namespace std;

class hitung{
friend istream& operator>>(istream&, hitung&);
friend ostream& operator<<(ostream&, hitung&);
public:
void literatif(int first,int second,int m,int n);
int rekursif(int pertama,int kedua,int atas,int bawah);
private:
int a,b,x,y;
};

istream& operator>>(istream& in, hitung& input){
cout <<"Masukkan bilangan pembagi pertama : ";
in>>input.a;
cout <<"Masukkan bilangan pembagi kedua : ";
in>>input.b;
cout <<"Masukkan Batas Bawah : ";
in>>input.x;
cout <<"Masukkan Batas Atas : ";
in>>input.y;
};

void hitung::literatif(int first,int second,int m,int n){
while (!(m<=n)){
if (m % first==0 && m % second==0)
{
cout<< m << endl;
m = m-1;
}
else
{
m = m-1;
}
}
};

int hitung::rekursif(int pertama,int kedua,int atas,int bawah)
{
if (atas % pertama==0 && atas % kedua==0)
{
if (atas==bawah)
{ return EXIT_SUCCESS; }
else
{
cout << atas << endl;
return rekursif(pertama,kedua,atas-1,bawah);
}
}
else
{
if (atas==bawah)
{ return EXIT_SUCCESS; }
else
{
return rekursif(pertama,kedua,atas-1,bawah);
}
}
};

ostream& operator<<(ostream& out, hitung& output){
out << "\n\nSecara LITERATIF" << endl;
out << "Nilai yang dapat dibagi "<<output.a<<" dan "<<output.b<<" antara "<<output.x<<" sampai "<<output.y<<" = " << endl;
output.literatif(output.a,output.b,output.y,output.x);
out << "\n\nSecara REKURSIF" << endl;
out << "Nilai yang dapat dibagi "<<output.a<<" dan "<<output.b<<" antara "<<output.x<<" sampai "<<output.y<<" = " << endl;
output.rekursif(output.a,output.b,output.y,output.x);

};
int main()
{   system("cls");

char u;
hitung jalankan;

cin>>jalankan;
cout<<jalankan;

cout<<"\n\nUlangi (y/n) : ";
cin>>u;
if(u=='y'||u=='Y'){return main();}
else { return EXIT_SUCCESS;}

getch();
}


Selamat mencoba,,🙂

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s