Αναλύστε το αναδρομικό αλγόριθμο . Σε αυτό το παράδειγμα , θα χρησιμοποιούμε το αναδρομικό λύση για το παραγοντικό πρόβλημα :
int παραγοντικού ( int γεγονός ) {
αν ( γεγονός == 0 ) { επιστροφή 1? } Else { γεγονός επιστροφή * παραγοντικό ( γεγονός - 1 ) ? } } 2
Αποφασίστε αν υπάρχουν επιχειρήματα λειτουργία μπορεί να πραγματοποιηθεί σε μεταβλητές . Στο παραγοντικό παράδειγμα, τα αποτελέσματα του παραγοντικού μπορούν να αποθηκευτούν σε μια μεταβλητή " total_factorial " για τη διάρκεια της κάθε επανάληψης. Αυτό το παράδειγμα δείχνει την αναδρομικό αλγόριθμο παραγοντικού και τη μεταβλητή που θα χρησιμοποιηθεί για την αναδρομική επιχείρημα :
int total_factorial = 0 :
3
Καθορίστε μια δομή βρόχου . Σε C + + , για παράδειγμα, το "ενώ" βρόχος λειτουργεί καλά με επαναλήψεις που έχουν indeterminant μήκος. "Για" βρόχους , από την άλλη πλευρά , λειτουργεί καλά όταν ένας βρόχος θα πάμε για ένα αυστηρό διάρκειας , που αντιπροσωπεύεται από έναν ακέραιο αριθμό κάποιου είδους . Για το παραγοντικό παράδειγμα, ένας βρόχος "for" θα λειτουργήσει καλά :
int παραγοντικού = 5 ? Int total_factorial = 0 ?
Η
4 Καθορίστε την ανάσχεση συνθήκες . Συνήθως , όπως στο εργοστασιακό παράδειγμα , η αναδρομή θα τερματίσει όταν ικανοποιείται μια συνθήκη . Σε ένα διαλογικό βρόχο , όπως ο βρόχος for , βοηθά να ξέρει πριν από το χέρι . Από τη στιγμή που γνωρίζουμε ότι στην εύρεση το παραγοντικό ενός αριθμού " n" ότι θα επαναλάβει n-1 φορές ( εκτός από το μηδέν ) , μπορείτε να ξεκινήσετε από το ένα και να τρέξει μέχρι το παραγοντικό αριθμός :
για ( int i = 1 ? i <= παραγοντικό ? i + + ) {if ( i == 1 ) { total_factorial = 1 ? } αλλού { συνολικού παραγοντικό * = i ? } }
Η
εικόνων
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα