Πρόγραμμα Γ για την εύρεση παράγοντα ενός αριθμού χρησιμοποιώντας την αναδρομή

Σε αυτό το παράδειγμα, θα μάθετε να βρίσκετε το παραγοντικό ενός μη αρνητικού ακέραιου αριθμού που έχει εισαγάγει ο χρήστης χρησιμοποιώντας αναδρομή.

Για να κατανοήσετε αυτό το παράδειγμα, θα πρέπει να γνωρίζετε τις ακόλουθες θεματολογίες προγραμματισμού Γ:

  • C Λειτουργίες
  • C Λειτουργίες που καθορίζονται από τον χρήστη
  • C Επανάληψη

Το παραγοντικό ενός θετικού αριθμού n δίνεται από:

factorial of n (n!) = 1 * 2 * 3 * 4 *… * n 

Το παραγοντικό ενός αρνητικού αριθμού δεν υπάρχει. Και το παραγοντικό του 0είναι 1.

Θα μάθετε να βρίσκετε το παραγοντικό ενός αριθμού χρησιμοποιώντας αναδρομή σε αυτό το παράδειγμα. Επισκεφθείτε αυτήν τη σελίδα για να μάθετε πώς μπορείτε να βρείτε το παραγοντικό ενός αριθμού χρησιμοποιώντας έναν βρόχο.

Παράγοντα ενός αριθμού που χρησιμοποιεί αναδρομή

#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; ) 

Παραγωγή

Εισαγάγετε έναν θετικό ακέραιο: 6 Factorial of 6 = 720 

Ας υποθέσουμε ότι ο χρήστης εισήγαγε 6.

Αρχικά, multiplyNumbers()καλείται από main()με 6 πέρασε ως επιχείρημα.

Στη συνέχεια, το 5 μεταφέρεται multiplyNumbers()από την ίδια λειτουργία (αναδρομική κλήση). Σε κάθε αναδρομική κλήση, η τιμή του ορίσματος n μειώνεται κατά 1.

Όταν η τιμή του n είναι μικρότερη από 1, δεν υπάρχει αναδρομική κλήση και το παραγοντικό επιστρέφεται τελικά στη main()συνάρτηση.

ενδιαφέροντα άρθρα...