Mersenne Sayıları

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

Bu gönderide Mersenne Sayıları ve PHP ile listelenmesi ve sorgulanmasını kod bloklarına dökmeyi deneyeceğim.

Mersenne Sayıları; ikinin kuvvetlerinin bir eksiği şeklinde tanımlanan sayılardır. Bazı kaynaklarda, bir sayının mersenne sayısı olması için n’in doğal sayı olması gerektiği yazsa da genelde n’in asal sayı olması gerektiği kabul görmüştür. Detaylı bilgi için tıklayın.

  • function mersenneSayilariAl($limit){
  • $dizi=array(); $sayac=0;
  • for($i=1;$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;
  • }
  •  
  • $sayilar=mersenneSayilariAl(1461);
  • echo "";
  • print_r($sayilar);
  • echo "";

Yukarıdaki kod blokları ile Mersenne Sayılarını alan fonksiyon kodlanmış ve kullanılmıştır. Bu fonksiyon 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ıyor. Örnek olarak 1461 limit değerini kullandım ve ilk-son sayıları öne çıkan resime ekledim. Bir diğer işlem, parametre olarak verilen sayının Mersenne Sayısı olup olmadığını bulmak. Bu durum için kodladığım fonksiyon aşağıdadır.

  • function mersenneMi($sayi){
  • for($i=1;$i<1024;$i++){
  • if(pow(2,$i)-1==$sayi)
  • return 1;
  • }
  • return 0;
  • }

Örnek olarak ayrı ayrı 1967 ve 4194303 sayılarını parametre olarak verelim.

  • echo mersenneMi(1461)==1 ? "EVET, 1461 mersenne sayısı":"HAYIR, 1461 mersenne sayısı değil";
  • echo mersenneMi(4194303)==1 ? "EVET, 4194303 mersenne sayısı":"HAYIR, 4194303 mersenne sayısı değil";

Ekran çıktısı öne çıkan resmin alt kısmında verilmiştir. Mersenne asal sayıları gönderisini incelemek için tıklayın.  

omurs

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

Etiketler

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)

genel Kategori

Atlassian

Superapp

Bootstrap Modal Yalnızca "X" Düğmesiyle Kapatılması