Sayının Basamak Değerlerini Bulma (Basamak İşlemleri #2)

sayinin-basamak-degerlerini-bulma-basamak-islemleri-2 (büyük resim için tıklayın)

Önceki gönderide basamak işlemlerine giriş yapmıştık. Bu gönderide sayının basamak değerlerini yazdıracağız. Bunun için bir önceki gönderide oluşturulan BasamakIslemler ismindeki sınıfa basamak kalıplarını üretmek ve değerini yazdırmak amacıyla iki yeni fonksiyon kodlayacağız. Sonrasında fonksiyonlarımızı, PHP_INT_MAX ile derlenirken desteklenen en büyük tamsayıyı çözümlemek için kullanacağız. Örneğin,

Basamak kalıbını üretmek için fonksiyonumuz aşağıdadır.

  • function basamakKalipUret($sayac){
  •  $basamaklar=array();  
  •  $i=-1;
  •  while($i<$sayac-(1)){
  •    $i++;
  •    $basamaklar[$i]=1*pow(10,$i);
  •  }
  •  array_unshift($basamaklar,"");
  •  unset($basamaklar[0]);
  •  return $basamaklar; //1 10 100 1000 ...
  • }

Sayaç -1 ‘den başlıyor çünkü kullanacağım basamak dizilerinde indisi 1 den başlattım. Sayac değişkeni aslında basamak sayısı. Basamak sayısı kadar basamak isminde diziye basamak kalıbını atıyor. Atanan değer 1 ile 10 üzeri sayac degerinin kuvveti (1*10üzeri1,1*10üzeri2 gibi)

Basamak bilgilerini yazdıralım

  • function basamakBilgileriniYaz($array){
  •  $basamaksayisi=$this->basamakSayisi($array); //ya da count($array); bir önceki gönderide tanımlanmıştı
  •  $basamaklar=$this->basamakKalipUret($basamaksayisi);
  •  for($i=1; $i<=$basamaksayisi; $i++){
  •   $basamakdegeri=$basamaklar[$i]*$array[$i];
  •    echo "<br> $basamaklar[$i]'ler basamağı değeri: <b>".$array[$i]."</b> =>".$basamakdegeri;
  •  }
  • }

basamakBilgileriniYaz fonksiyonuna parametre olarak bir önceki gönderide ayrıştırdığımız (rakamlariDiziyeAyristir isimli fonksiyon ile) diziyi veriyor olacağız. Kullanalım,

  • $bi=new BasamakIslemler();
  • $sayi=PHP_INT_MAX;
  • $dizi=$bi->rakamlariDiziyeAyristir($sayi);
  • echo "<pre>";print_r($dizi);echo "</pre>";
  • echo "<br> $sayi tam olarak <b>". $bi->basamakSayisi($dizi)." </b>basamaklı";
  • $bi->basamakBilgileriniYaz($dizi);

omurs

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

Etiketler

Beğeni


Yıllara Göre Gönderiler








php Kategori

Timestamp - Datetime Çevrimi (Convert Timestamp to Datetime)

PHP ini dosyası üzerinde terminal ile değişiklikte bulunmak

self & this