1

Topic: Algoritma untuk menentukan bilangan prima

Bilangan prima adalah bilangan > 1 yang hanya habis dibagi 1 dan dirinya sendiri.
Jadi, untuk memeriksa apakah suata bilangan adalah prima / bukan, pada dasarnya hanya perlu melakukan perulangan dari 1 sampai dengan bilangan itu sendiri untuk memeriksa apakah bilangan itu bisa dibagi oleh bilangan² lain antara 1 dan dirinya sendiri.

Berikut ini fungsi dasar untuk memeriksa apakah suatu bilangan merupakan bilangan prima. Fungsi ini sebenernya dapat dengan mudah dibuat menjadi lebih efisien, jadi saya share fungsi dasarnya saja ^^

bool isPrime(int s)
{
    int i,n,a;
    a = 0;
    for(i=1; i<=s; i++)
    {
        if(s%i==0) a++;
    }
    if(a==2) return true;

    else return false;
}

2

Re: Algoritma untuk menentukan bilangan prima

hallo salam kenal...

mungkin operasi dari programnya bakalan sedikit lebih efisien kalo saja bilangan yang ingin di tes (apakah prima atau bukan) hanya dibagi bilangan-bilangan yang kurang dari setengah dari bilangan itu sendiri.

jadi maksud saya, loop yang pertama hanya butuh sampai s/2 saja...

bool isPrime(int s)
{
    int i,n,a;
    a = 0;
    for(i=1; i<=(s/2); i++)
    {
        if(s%i==0) a++;
    }
    if(a==1) return true;

    else return false;
}

mungkin untuk bilangan bilangan kecil tidak begitu terasa bedanya... tapi dengan mengurangi pengecekan sebanyak setengah dari sebelumnya, mungkin akan terasa pada bilangan-bilangan yang besar (CMIIW)

maju terus Indonesia...

Last edited by cosmo_null (2010-02-15 00:52:45)

3

Re: Algoritma untuk menentukan bilangan prima

Yap, betul sekali ^^ Fungsi untuk pengecekan bilangan prima tersebut memang sebenernya masih dapat dibuat supaya menjadi lebih efisien, seperti yang dikatakan cosmo_null ^^