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”;
}