Merhaba sevgili Jetto Yazılımcıları
Java programlama dilinde faktöriyel hesaplama algoritmasını öğrenmeye ne dersiniz? İşte temel adımlarla nasıl yapılacağına dair bir rehber:
Öncelikle Faktöriyel, bir sayının kendisi ile 1 arasındaki tüm pozitif tam sayıların çarpımıdır. Örneğin, 5 faktöriyeli şu şekilde hesaplanır: 5! = 5 x 4 x 3 x 2 x 1 = 120. Faktöriyel hesaplama algoritması özyineleme (recursive) veya döngü (loop) yapısı ile gerçekleştirilebilir. Ben bu yazıda recursive ile faktöriyel hesaplamasını anlatacağım.
Recursive en genel anlamıyla bir yapının (kendi kendine) yinelenmesidir. Programlama dünyasında ise bir metot kendi içinde tekrardan kendisini çağırıyorsa bu metot recursive metot olarak geçmektedir.
Şimdi programı yazmaya başlayalım:
"İlk olarak, kullanıcıdan bir sayı alacağız ve sayi değişkenine atayacağız. Bu işlem, programın başında yer alan main metodu içinde gerçekleştirilecek.
Ardından, kullanıcının girdiği değeri faktöriyel hesaplama fonksiyonuna parametre olarak ileteceğiz ve bu fonksiyonu çağıracağız.
Artık metodumuzu hazırlayacağız. Metodumuzu main metodundan çağıracağımız için static olarak belirliyoruz ve değer döndüreceği için int değerini veriyoruz.
Girilen rakamın 0 olması hglinde 1 değerinin döndürülmesi için bir şart bloğu ekliyoruz.
Girilen sayı sıfır olmadığında, else bloğu çalışacak. Bu kısım faktöriyel hesaplama fonksiyonunun ana mantığını oluşturur. Eğer gelen sayı 0'dan farklı bir sayı ise, fonksiyon kendisini tekrar çağırarak (n-1) değerini faktöriyelHesapla fonksiyonuna parametre olarak iletilir. Bu işlem, n'nin değeri 0 olana kadar devam eder ve sonuç olarak faktöriyel elde edilir ve değer döndürülür.
Böylelikle faktöriyel hesaplamasını tamamlamış olduk. Siz döngü yapısı ile de hesaplatabilirsiniz. Yorumlarda nasıl yaptığınızı yazabilirsiniz. Ayrıca sorularınızı da yazabilirsiniz.
Buraya kadar okuduğunuz için teşekkür ederim.
Tüm Kodlar:
Java
Daha Çok Gösterimport java.util.Scanner; public class FaktoriyelHesaplama { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("Faktöriyelini hesaplamak istediğiniz sayıyı girin: "); int sayi = scanner.nextInt(); System.out.println("Girdiğiniz sayının faktöriyeli: " + faktoriyelHesapla(sayi)); } public static int faktoriyelHesapla(int n) { if (n == 0) { return 1; } else { return n * faktoriyelHesapla(n - 1); } } }