Algoritma Cek Keprimaan

Dari artikel ini sudah dijelaskan secara singkat tentang algoritma brute.
Kali ini saya akan membahas contoh berikutnya yaitu :

Uji keprimaan

seperti yang kita tau bilangan prima adalah bilangan yang mempunyai dua faktor, yaitu 1 dan bilangan itu sendiri
dari konsep tersebut dapat dibuat algoritma


 function Prima(input x : integer)<-boolean
 { Menguji apakah x bilangan prima atau bukan.
   Masukan: x
   Keluaran: true jika x prima, atau false jika
 x tidak prima.
 }
Deklarasi
 test : boolean
 i : integer
Algoritma:
 if x < 2 then { 1 bukan prima }
   return false
 else
   if x = 2 then { 2 adalah prima, kasus khusus }
   return true
 else
   test<-true
   i<-2
   while i<=(√x) and (test) do
     if x mod y = 0 then
       test<-false
     else
       i<-i - 1
     endif
   endwhile
 { not test or y < 2 }
return test


dari algoritma tersebut dapat di-coding kedalam bahasa C++

#include <cstdlib>
#include <iostream>
#include <math.h>

using namespace std;
bool Prima(int x){
    bool test;
    int i;
    if (x<2){
         return false;}
    else if (x==2){
         return true;}
    else{
    test=true;
    i=2;
    while (i<=ceil(sqrt(x))&&test==true){
        if (x%i==0){
           test=false;
           }
        else{
        i++;
        }
        }
    return test;
    }
    }
int main(int argc, char *argv[])
{
    int x;
    cout<<"Masukkan bilangan : ";cin>>x;
    if (Prima(x)==0){
                     cout<<x<<" bukan bilangan Prima"<<endl;}
    else {
                     cout<<x<<" bilangan Prima"<<endl;}
    system("PAUSE");
    return EXIT_SUCCESS;

}


No comments:

Post a Comment