Bu programda, Java'da özyinelemeli bir işlevi kullanarak bir sayının faktöriyelini bulmayı ve görüntülemeyi öğreneceksiniz.
Bu örneği anlamak için, aşağıdaki Java programlama konuları hakkında bilgi sahibi olmalısınız:
- Java Yöntemleri
- Java Özyinelemesi
Pozitif bir n sayısının faktöriyeli şu şekilde verilir:
n (n!) = 1 * 2 * 3 * 4 *… * n faktöriyeli
Negatif bir sayının faktöriyeli yoktur. Ve 0'ın faktöriyeli 1'dir.
Bu örnekte özyineleme kullanarak bir sayının faktöriyelini bulmayı öğreneceksiniz. Döngü kullanarak bir sayının faktöriyelini nasıl bulabileceğinizi öğrenmek için bu sayfayı ziyaret edin.
Örnek: Özyineleme Kullanan Sayının Faktöriyeli
public class Factorial ( public static void main(String() args) ( int num = 6; long factorial = multiplyNumbers(num); System.out.println("Factorial of " + num + " = " + factorial); ) public static long multiplyNumbers(int num) ( if (num>= 1) return num * multiplyNumbers(num - 1); else return 1; ) )
Çıktı
6 = 720 faktöriyeli
Başlangıçta, argüman olarak 6 geçirilerek işlevden multiplyNumbers()
çağrılır main()
.
6, 1'den büyük veya 1'e eşit olduğundan, 6, multiplyNumbers()
5'in (num -1) geçtiği yerin sonucuyla çarpılır . Aynı işlevden çağrıldığı için özyinelemeli bir çağrıdır.
Her özyinelemeli çağrıda, num bağımsız değişkeninin değeri, sayı 1'den küçük olana kadar 1 azaltılır.
Num değeri 1'den küçük olduğunda, özyinelemeli çağrı yoktur.
Ve her yinelemeli çağrı bize şunu verir:
6 * 5 * 4 * 3 * 2 * 1 * 1 (0 için) = 720