bu dersimizde Asal sayıların bulunması konusunu ele alacağız. Bu dersi anlayabilmek için Asal Sayı Bulma - I dersini okumış olmanız gerekmektedir.
Hatırlayacaksanız Asal Sayılar - I dersinde bir sayının asal olup olmadığını kolaylıkla bulabiliyorduk. Bu dersimizde ise verilen n sayısına kadar olan tüm asal sayıları listelemeyi göreceğiz.
Burada yazacağımız algoritmadan daha etkin çalışan algoritmalar elbetteki yazılabilir. Ancak burada algoritma konusuna yeni girenler için oldukça basit ve sade bir düşünce ile algoritma geliştirme amaçlanmaktadır.
Verilen n sayısına kadar olan asal sayıları bulmak için 2 den başlayarak n sayısına kadar tüm sayıların teker teker asal olup olmadıkları kontrol edilir. Kısaca algoritma şu şekilde yazılabilir.
1. n = girilen sayı
2. for i=2 to n
2.1. i sayının asal olup olmadığını bul
2.2. i sayısı asal ise
print(i)
yukarıda 2.1. adımında i sayısının asal olup olmadığının bulunması daha önceki Asal Sayı Bulma - I dersinde anlatılmıştı. Orada kullanılan algoritma buraya aynen taşınırsa son algoritma şu şekilde olmaktadır.
1. n = girilen sayı
2. for i=2 to n
2.1. bolen_sayisi = 0
2.2. for j=2 to i-1
if (i mod j) = 0 // tam bölünüyorsa
bolen_sayisi = bolen_sayisi + 1 // bölen sayısını bir arttır.
2.3. if bolen_sayisi = 0
print(i)
yukarıda verilen algoritma verilen n sayısına kadar olan asal sayıları çıktı olarak vermektedir.
Örneğin n sayısı 25 verildiğinde çıktı;
2, 3, 5, 7, 11, 13, 17, 19, 23
olmaktadır.
Not : Bu ders aynı zamanda CETURK.com adresinde de yayınlanmaktadır.