Σε αυτό το πρόγραμμα, θα μάθετε να βρίσκετε και να εμφανίζετε το παραγοντικό ενός αριθμού χρησιμοποιώντας μια αναδρομική συνάρτηση στο Kotlin.
Το παραγοντικό ενός θετικού αριθμού n δίνεται από:
παραγοντικό του n (n!) = 1 * 2 * 3 * 4 *… * n
Το παραγοντικό ενός αρνητικού αριθμού δεν υπάρχει. Και το παραγοντικό του 0 είναι 1.
Θα μάθετε να βρίσκετε το παραγοντικό ενός αριθμού χρησιμοποιώντας αναδρομή σε αυτό το παράδειγμα. Επισκεφτείτε αυτήν τη σελίδα για να μάθετε, πώς μπορείτε να βρείτε το παραγοντικό ενός αριθμού χρησιμοποιώντας βρόχο.
Παράδειγμα: Παράγοντα ενός αριθμού που χρησιμοποιεί αναδρομή
fun main(args: Array) ( val num = 6 val factorial = multiplyNumbers(num) println("Factorial of $num = $factorial") ) fun multiplyNumbers(num: Int): Long ( if (num>= 1) return num * multiplyNumbers(num - 1) else return 1 )
Όταν εκτελείτε το πρόγραμμα, η έξοδος θα είναι:
Συντελεστής 6 = 720
Αρχικά, η multiplyNumbers()
κλήση από τη main()
συνάρτηση με 6 πέρασε ως όρισμα.
Δεδομένου ότι το 6 είναι μεγαλύτερο ή ίσο με το 1, το 6 πολλαπλασιάζεται με το αποτέλεσμα multiplyNumbers()
όπου περνά το 5 (αριθμός -1). Δεδομένου ότι καλείται από την ίδια λειτουργία, είναι μια αναδρομική κλήση.
Σε κάθε αναδρομική κλήση, η τιμή του αριθμού ορίσματος μειώνεται κατά 1 έως ότου ο αριθμός φτάσει λιγότερο από 1.
Όταν η τιμή του αριθμού είναι μικρότερη από 1, δεν υπάρχει αναδρομική κλήση.
Και κάθε επαναληπτική κλήση επιστρέφει δίνοντας μας:
6 * 5 * 4 * 3 * 2 * 1 * 1 (για 0) = 720
Εδώ είναι ο ισοδύναμος κώδικας Java: Πρόγραμμα Java για εύρεση παραγοντικών χρησιμοποιώντας αναδρομή