Προσδιορίστε αν η ίδια η διαδικασία υπολογισμού που πρέπει να εκτελεστούν δανείζει σε αναδρομή ή όχι . Είναι σημαντικό ότι η υπολογιστική διαδικασία στην μέθοδο μπορεί να μειωθεί σε μία επαναλαμβανόμενη κλήση στον εαυτό του.
Ένα από τα δημοφιλή υπολογισμών αναδρομής είναι η διαδικασία προσδιορισμού της παραγοντικό ενός αριθμού . Ένα παραγοντικό ενός αριθμού Ν είναι το αποτέλεσμα του πολλαπλασιασμού τους αριθμούς από το 1 έως το ίδιο Ν . Για παράδειγμα , με τη χρήση άμεσων πολλαπλασιασμό :
Factorial ( 3 ) = 3 * 2 * 1 = 6
Ωστόσο , το ίδιο αποτέλεσμα επιτυγχάνεται όταν είδαν αναδρομικά :
Factorial ( 3 ) = 3 * παραγοντικό ( 2 ) = 3 * 2 * παραγοντικό ( 1 ) = 3 * 2 * 1 = 6
Παρατηρήστε ότι κάθε διαδοχικό βήμα αναφέρεται στην ίδια διαδικασία, αλλά με πιο απλούς όρους .
Φτηνές 2
αναγνωρίσει τη μέθοδο Java που θα εκτελέσει την επαναληπτικού υπολογισμού . Μια μέθοδος έχει συνήθως τουλάχιστον το ρυθμιστή, τον τύπο επιστροφής , τα ονόματα μέθοδο και την αντίστοιχη λίστα παραμέτρων . Το όνομα της μεθόδου ξεκινά συνήθως με πεζά λεκτική λέξη . Για παράδειγμα , η ακόλουθη γραμμή καθορίζει μια μέθοδο που ονομάζεται « γεγονός ( ) " που δέχεται μια ολόκληρη αριθμητική τιμή των n και επιστρέφει το παραγοντικό του
int γεγονός ( int n ) { }
Η
3
Βεβαιωθείτε ότι στο σώμα της επαναληπτικής μεθόδου , ο υπολογισμός γίνεται κάνοντας μια κλήση στον εαυτό του . Βεβαιωθείτε ότι υπάρχει μια συνθήκη τερματισμού της αναδρομική κλήση , καθώς και? Αλλιώς η μέθοδος θα διαρκέσει επ 'αόριστον χωρίς να σταματήσει . Για παράδειγμα , η ακόλουθη γραμμή υπολογίζει τις factoria ενός συγκεκριμένου αριθμού n διαδοχικά αυτοαποκαλείται να εκτελέσει τον ίδιο υπολογισμό με ένα απλούστερο τιμή του n - 1 .
Int γεγονός ( int n ) {
αποτέλεσμα int ?
if ( n == 1 ) επιστροφή 1 ?
αποτέλεσμα = γεγονός (n - 1 ) * n ?
αποτέλεσμα την επιστροφή?
}
Όταν n - 1 είναι ίσο με 1 , η αξία του 1 επιστρέφεται . Αυτή είναι η κατάσταση τερματισμού του επαναληπτικού υπολογισμού .
Η 4
Καλέστε την επαναληπτική μέθοδο για να το δοκιμάσετε . Για παράδειγμα , η ακόλουθη γραμμή καλεί τη μέθοδο " πραγματικότητα ( ) ", ενώ περνώντας μια τιμή 3 για την εκτύπωση στην κονσόλα :
System.out.println ( " παραγοντικό του 3 είναι " + f.fact ( 3 ) ) ?
Βεβαιωθείτε ότι το μήνυμα « παραγοντικό του 3 είναι 6 ' είναι τυπωμένο στην οθόνη
Η
εικόνων .
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα