Faktöriyel

faktoriyel (büyük resim için tıklayın)

Bu gönderide faktöriyelin tanımı yapıp PHP ile çözümlenmesinden bahsedeceğim.

Faktöriyel Nedir?

n, 1’den büyük bir doğal sayı olmak üzere; 1’den n’ye  kadar olan doğal sayıların çarpımına n’nin faktöriyeli veya kısaca n faktöriyel denir. n! biçiminde  gösterilir. Kaynak için tıklayın. 1'den büyük herhangi bir doğal sayının faktöriyelini bulmak için hem özyinelemeli (recursive) hem de özyinelemesiz fonksiyon oluşturalım. 

  • function faktoriyelAlRecursive($param){
  • if($param<0)
  • return "doğal sayı girin";
  • elseif($param==0 or $param==1)
  • return 1;
  • else
  • return $param*faktoriyel($param-1);
  • }

Yukarıdaki faktoriyelAlRecursive fonksiyonu, rakam kontrolünden sonra, parametre olarak verilen değer ve özyinelemeli (kendini tekrar çağırarak) olarak değerin 1 eksiği ile çarpılarak geriye değer döndürecek. Örneğin 4 parametresi verildiğinde 24 değeri return edecek. Aşağıdaki fonksiyonda ise özyinelemi olmadan döngü içersinde işlem yapılıp return edilecek.

  • function faktoriyelAl($param) {
  • $sonuc=1;
  • for($i=1; $i<=$param; $i++) {
  •  $sonuc *= $i;
  • }
  • return $sonuc;
  • }

Yukarıdaki faktoriyelAl fonksiyonu ile başlangıç ve bitiş değerleri arasındaki faktöriyel hesabını doğrudan ekrana yazdırmak için oluşturulan fonksiyon aşağıdadır,

  • function faktoriyelleriGetir($baslangic,$bitis){
  • for($i=$baslangic;$i<=$bitis;$i++){
  • $faksonuc=faktoriyelAl($i);
  • if(is_infinite($faksonuc)){
  • echo "sonsuza ulaştım, son hesaplanan değer=>".($i-1);
  • exit;
  • }
  • else{
  • echo $i."! = ".$faksonuc."<br>";
  • }
  • }
  • }

Örnek ekran çıktıları öne çıkan resimde verilmiştir.

omurserdarr

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

Etiketler

Beğeni


genel Kategori

f

Ubuntu Klavye Kısayolları

Windows Klavye Kısayolları