Mersenne Sayılarını daha önce şu gönderide tanımlamıştım. Bu gönderide devam niteliğinde (ya da içerik eksikliğini tamamlamak anlamında !) Mersenne Asal Sayılarını ifade etmeye çalışacağım. Mersenne asal sayıları, hem bir Mersenne sayısı hem de asal olan sayılardır. Giriş niteliğindeki gönderide mersenneSayilariAl isminde fonksiyon mevcuttu ve bu fonksiyon 1'den başlayarak döngü ile INF(Sonsuz) değerine ulaşana kadar (bilgisayar 1024'e kadar işlem yapabildi, ikinin 1024. kuvvetinde sonsuz değerine ulaştı) elde edilen sayıları diziye aktarıyor, eğer elde edilen sayı sonsuz ise o sonsuz değere kadar olan dizileri geriye döndürüp bilgi mesajı yazıp çıkıyordu (parametreye kadar üs alma işleminde sonsuz değere ulaşıldığı düşünüldüğünde). mersenneSayilariAl fonksiyonunu bu gönderide de kullanacağım fakat döngüyü 1'den değilde 2'den başlatacak şekilde revize edeceğim. Şöyleki;
Fonksiyonu kullanarak sayıları ekrana yazdırmak için;
kod bloklarını kullandım. Yukarıdaki kod blokları ile 2'nin 35. kuvvetine kadar elde edilen mersenne sayılarını diziye aktardım ve ekrana print_r komutu ile yazdırdım. Şimdi döngü ile $sayilar dizisinin her bir elemanını asal olup olmadığını sorgulayacağım. Asal sayılar ile alakalı şu gönderide tanımlamalar, fonksiyonlar ve kod blokları mevcut. $sayilar dizisinin her bir elemanını asal olup olmadığını sorgulayalım;
Örnek ekran çıktısı aşağıdadır;
Black Friday (Kara Cuma)
Siber Pazartesi (Cyber Monday)
KKDF (Kaynak Kullanımı Destekleme Fonu)