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.  

iam

Ömürcan Serdar, 30 Ağustos 2018 Perşembe 15:30 tarihinde kayıt oldu

Etiketler

Beğeni


Yıllara Göre Gönderiler








genel Kategori

Ubuntu Klavye Kısayolları

Windows Klavye Kısayolları

IntelliJ IDEA Klavye Kısayolları & PhpStorm Klavye Kısayolları