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.  

omurserdarr

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

Etiketler

Beğeni


Yıllara Göre Gönderiler


TEST1

TEST2


TEST3

TEST4


TEST5

TEST6

TEST7

TEST8

TEST9

TEST10

TEST11

TEST12

TEST13


TEST14

TEST15

TEST16

TEST17

TEST18

TEST19

TEST20

TEST21

TEST22

TEST23

TEST24


TEST25

TEST26

TEST27

TEST28

TEST29


TEST30

TEST31


TEST32

TEST33

genel Kategori

f

Ubuntu Klavye Kısayolları

Windows Klavye Kısayolları