Bu örnekte, özyinelemeyi kullanarak bir sayının faktöriyelini bulan bir JavaScript programı yazmayı öğreneceksiniz.
Bu örneği anlamak için, aşağıdaki JavaScript programlama konuları hakkında bilgi sahibi olmalısınız:
- JavaScript Özyinelemesi
- JavaScript if… else İfadesi
Bir sayının faktöriyeli, 1'den o sayıya kadar olan tüm sayıların çarpımıdır. Örneğin,
5'in faktöriyeli 1 * 2 * 3 * 4 * 5 = 120'ye eşittir .
Pozitif bir n sayısının faktöriyeli şu şekilde verilir:
factorial of n (n!) = 1 * 2 * 3 * 4… n
Negatif sayıların faktöryel yoktur ve faktöryel 0 olduğunu 1 .
Örnek: Özyinelemeyi Kullanarak Faktöriyel Bul
// program to find the factorial of a number function factorial(x) ( // if number is 0 if (x == 0) ( return 1; ) // if number is positive else ( return x * factorial(x - 1); ) ) // take input from the user const num = prompt('Enter a positive number: '); // calling factorial() if num is positive if (num>= 0) ( const result = factorial(num); console.log(`The factorial of $(num) is $(result)`); ) else ( console.log('Enter a positive number.'); )
Çıktı
Pozitif bir sayı girin: 4 4'ün faktöriyeli 24'tür
Yukarıdaki programda, kullanıcıdan bir numara girmesi istenir.
Kullanıcı negatif bir sayı girdiğinde, bir pozitif sayı girin mesajı. gösterilir.
Kullanıcı pozitif bir sayı veya 0 girdiğinde , işlev factorial(num)
çağrılır.
- Kullanıcı 0 sayısını girerse , program 1 döndürür .
- Kullanıcı 0'dan büyük bir sayı girerse , program numarayı azaltarak kendini yinelemeli olarak arayacaktır.
- Bu işlem sayı 1 olana kadar devam eder. Ardından sayı 0'a ulaştığında 1 döndürülür.
Buraya,
factorial (4), 4 * factorial (3) factorial (3) döndürür 4 * 3 * factorial (2) factorial (2), 4 * 3 * 2 * factorial (1) factorial (1), 4 * 3 * 2 * döndürür 1 * faktöryel (0) faktöryel (0), 4 * 3 * 2 * 1 * 1 değerini döndürür