Mersenne Asal Sayıları

mersenne-asal-sayilari (büyük resim için tıklayın)

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;

  • function mersenneSayilariAl($limit){
  • $dizi=array(); $sayac=0;
  • for($i=2;$i<=$limit;$i++){
  • $deger=pow(2,$i)-1;
  • if(!is_infinite($deger))
  • array_push($dizi,$deger);
  • else{
  • array_push($dizi,"SONSUZ, sonsuz öncesi üs kuvveti ".$sayac);
  • return $dizi;
  • exit;
  • }
  • $sayac++;
  • }
  • return $dizi;
  • }

Fonksiyonu kullanarak sayıları ekrana yazdırmak için;

  • $sayilar=mersenneSayilariAl(35);
  • echo "";
  • print_r($sayilar);
  • echo "";

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;

  • foreach($sayilar as $sayi){
  • if(asalMi($sayi)==1){
  • echo $sayi."=> hem mersenne hem asal, yani mersenne asal
    ";
  • }
  • }

Örnek ekran çıktısı aşağıdadır;

  • 3=> hem mersenne hem asal, yani mersenne asal
  • 7=> hem mersenne hem asal, yani mersenne asal
  • 31=> hem mersenne hem asal, yani mersenne asal
  • 127=> hem mersenne hem asal, yani mersenne asal
  • 8191=> hem mersenne hem asal, yani mersenne asal
  • 131071=> hem mersenne hem asal, yani mersenne asal
  • 524287=> hem mersenne hem asal, yani mersenne asal
  • 2147483647=> hem mersenne hem asal, yani mersenne asal

omurs

Ö S, 30 Ağustos 2018 Perşembe 15:30 tarihinde kayıt oldu

Beğeni


Yıllara Göre Gönderiler








LombokLoglamaB2C (Business-to-Consumer)B2B (Business-to-Business)İçerik Yönetim Sistemi - CMS (Content Management System)Pagination (Sayfalama)Sanal Özel Ağ - VPN (Virtual Private Network)Cronjob (Zamanlanmış Görevler)Printer-YazıcıJava'daki İlkel Veri Tipleri ve Alabilecekleri DeğerlerBit & Byte ve Hafıza Boyutlarındaki Ölçüm BirimleriSanallaştırma (Virtualization)DNS KayıtlarıE-Fatura ve E-ArşivYazılım Lisans TürleriAudit (Denetim) Açık Kaynak (Open Source)Monitoring (İzleme)Sitemap & Robots.txtKilometretaşı (Milestone)BSMV (Banka ve Sigorta Muameleleri Vergisi)KKDF (Kaynak Kullanımı Destekleme Fonu)Siber Pazartesi (Cyber Monday)Black Friday (Kara Cuma)Hotlink.htaccessCryptoLockerMalwareTrojanWormDependency (Yazılım Geliştirme Sürecinde Paket Bağımlılığı)Configuration (Yazılım Geliştirme Sürecinde Yapılandırma)Yahoo ve Yahoo'nun Başarısızlık NedenleriArchiving (Yazılım Geliştirme Sürecinde Arşivleme)Görsel Dosya Türleri (Image Types)ReleaseVersioning & Tagging (Versiyonlama ve Etiketleme)BuildJob (Yazılım Geliştirme Sürecinde Görevler)SonarQubeCDATA (Character Data)Alan Adı Uzantıları (Domain Name Extensions)Regresyon Kara Kutu (Black-Box) TestBeyaz Kutu (White-box) TestGri Kutu (Grey-box) TestYazılım Geliştirme Sürecindeki Temel Test TürleriKod gözden geçirme (Code Review)Birim Testi (Unit Testing)Yazılım Sürecinde EntegrasyonJAR & WAREager & Lazy Fetch TypeMaskelemeKPI (Key Performance Indicator)KII (Key Impact Indicator)Projenin JAR Dosyasını Oluştur - JAR PathSunucu için Linux dağıtım SeçimiKonyteynerler (container technologies)Runtime & Compile Time (Çalışma ve Derleme Zamanı)@Anotasyonlar (@Annotations)