Contoh program menentukan suatu bilangan apakah bilangan prima atau bukan

Posted on

Contoh program menentukan suatu bilangan apakah bilangan prima atau bukan

Contoh program menentukan suatu bilangan apakah bilangan prima atau bukan?

#include<iostream>

using namespace std;

main()

{

int x,i,count=0;

cout<<“nMasukkan sebuah angka : “;

cin>>x;

for(i=2;i<=x/2;i++)

{

if(x%i==0)

count++;

}

if(count>0 || x<2)

cout<<x<<“bukan bilangan priman”;

else

cout<<x<<“n bilangan priman”;

}

Penjelasan:

main() ==>Ini adalah fungsi main dimana akan dipanggil pertamakali jika program dieksekusi.

{

int x,i,count=0; ==>kita bikin 3 variable dengan tipe integer. variable count diisi dengan nol

cout<<“nMasukkan sebuah angka : ==> menampilkan dilayar

cin>>x; ==> meminta input

for(i=2;i<=x/2;i++) ==> ini loop mulai dari 2 sampai n/2 kenapa? nanti saya jelaskan

{

if(x%i==0) ==> ini kondisi yang artinya, jika sisa pembagian x dengan i sama dengan 0

count++; ==> count yang kita isi dengan nol pertama kali tadi ditambah terus kalau kondisi “if” benar

}

/*

loop for ini akan mengecek apakah bilangan tersebut dapat dibagi 2 (apakah sisa pembagian x dengan 2 = 0). Jika ya, maka kita tambah counter “count”. count++ sama artinya dengan count=count+1. Jadi, jika count bertambah maka bilangan ini bukan bilangan prima.

Kenapa mulai dari 2. Karena 2 adalah bilangan prima yang paling kecil. Inilah kenapa kita pakai batas atasnya adalah n/2 karena kita sudah mengecek 2 pertama kali. Jika bilangan yang kita periksa merupakan kelipatan 2, maka pada pemeriksaan ke n/2 kita akan mendapatkan sisa pembagian 0. Artinya bilangan tersebut bukan prima dan kita tidak perlu melakukan pengecekan selanjutnya (hemat 1/2 langkah ^_^ )

Apakah 2 masuk jadi bilangan prima (seharusnya masuk)?

Ya, kita tidak mengecek 2 karena loop dimulai dari 2 sampai 2/2. Loop gak jalan,

Yang artinya count tidak bertambah(tetap 0), dan 2 masuk sebagai bilangan prima.

*/

if(count>0 || x<2) ==> artinya jika count nilanya lebih dari 0 atau x lebih kecil dari 2 (0 atau 1)

cout<<x<<“bukan bilangan priman”;

else

cout<<x<<“n bilangan priman”;

}