Bu örnekte, özyineleme kullanarak kullanıcı tarafından girilen negatif olmayan bir tamsayının faktöriyelini bulmayı öğreneceksiniz.
Bu örneği anlamak için, aşağıdaki C programlama konuları hakkında bilgi sahibi olmalısınız:
- C İşlevleri
- C Kullanıcı tanımlı işlevler
- C Özyineleme
Pozitif bir n sayısının faktöriyeli şu şekilde verilir:
factorial of n (n!) = 1 * 2 * 3 * 4 *… * n
Negatif bir sayının faktöriyeli yoktur. Ve faktöryel 0
olduğunu 1
.
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.
Özyineleme Kullanan Bir Sayının Faktöriyeli
#include long int multiplyNumbers(int n); int main() ( int n; printf("Enter a positive integer: "); scanf("%d",&n); printf("Factorial of %d = %ld", n, multiplyNumbers(n)); return 0; ) long int multiplyNumbers(int n) ( if (n>=1) return n*multiplyNumbers(n-1); else return 1; )
Çıktı
Pozitif bir tam sayı girin: 6 Factorial of 6 = 720
Kullanıcının 6 girdiğini varsayalım.
Başlangıçta, argüman olarak 6 geçerek multiplyNumbers()
den çağrılır main()
.
Daha sonra multiplyNumbers()
aynı işlevden 5'e geçilir (özyinelemeli çağrı). Her özyinelemeli çağrıda, n bağımsız değişkeninin değeri 1 azaltılır.
N'nin değeri 1'den küçük olduğunda, özyinelemeli çağrı yoktur ve faktöriyel sonuçta main()
işleve döndürülür .