Προγραμματισμός

* Γνώση Υπολογιστών >> Προγραμματισμός >> C /C + + Προγραμματισμός

Πώς να γράψετε κώδικα σε C + + Χρήση Lucas Series

Η ικανότητα να σκέφτονται αναδρομικά είναι πολύ σημαντικό για τους προγραμματιστές λογισμικού . Μια επαναληπτική ρουτίνα λογισμικού επαναλήψεις με αναφορά το ίδιο σε κάποιο σημείο . Μια τέτοια ρουτίνα έχει μια βασική υπόθεση που τελειώνει η αναδρομή και αποτρέπει τη ρουτίνα από την άσκηση επ 'αόριστον . Οι περισσότεροι προγραμματιστές να μάθουν πώς να κωδικοποιήσει την ακολουθία Fibonacci όταν μαθαίνουν αναδρομή . Μια πολύ παρόμοια σειρά των αριθμών είναι η σειρά Lucas, και μπορεί να λυθεί επαναληπτικά όπως επίσης. Η σειρά Lucas αρχίζει με τους αριθμούς 2 και 1 . Κάθε επακόλουθη αριθμό στη σειρά είναι το άθροισμα των δύο προηγουμένων - για παράδειγμα, ο τρίτος αριθμός είναι 3 ( 1 2 ) , που ακολουθείται από 4 ( 3 1 ) , που ακολουθείται από 7 ( 4 +3) , και ούτω καθεξής . Τα πράγματα που θα χρειαστείτε
C + + Compiler , όπως GCC
C + + IDE , όπως Eclipse CDT
Η Εμφάνιση Περισσότερες οδηγίες
Η 1

Εκκίνηση C + + IDE σας και να δημιουργήσετε ένα αρχείο νέου κώδικα C + + πηγή . 2

Δημιουργήστε μια λειτουργία που ονομάζεται lucas . Το κύριο μέρος του προγράμματος θα τροφοδοτήσουν lucas έναν αριθμό , και αναμένουμε lucas να περάσει μια σειρά πίσω σε αυτό . Αυτή η σύνταξη επιτυγχάνεται γράφοντας κάτι σαν αυτό :

int lucas ( int x ) {


}
εικόνων 3

Set μέχρι την πρώτη περίπτωση βάσης . Η πρώτη βασική περίπτωση εμφανίζεται όταν η είσοδος αριθμό στο lucas λειτουργία είναι 0 . Το αποτέλεσμα αυτό είναι εξάγει την τιμή 2 στο κύριο . Μπορείτε να το πετύχουν αυτό με την προσθήκη μιας " if" στο εσωτερικό των αγκύλες της λειτουργίας lucas , όπως αυτό :

if ( x == 0 ) {επιστροφή 2 ? }
Η 4

Ρυθμίστε τη δεύτερη βασική περίπτωση . Η δεύτερη βασική περίπτωση εμφανίζεται όταν η είσοδος αριθμό στο lucas λειτουργία είναι 1 . Το αποτέλεσμα αυτό είναι εξάγει την τιμή 1 στο κύριο . Μπορείτε να γράψετε αυτό το « αλλού - if", όπως αυτό , κάτω από την " if", από το βήμα 3 :

else if ( x == 1 ) { επιστροφή 1? }
5

Ρυθμίστε την αναδρομική κλήση . Η παρούσα πρόσκληση θα καλέσει το ίδιο το lucas λειτουργία δύο ακόμα φορές , προσθέτοντας το αποτέλεσμα των δύο προηγούμενων αποτελέσματα στη σειρά Lucas μαζί . Αυτή η αναδρομική κλήση μπορεί να μοιάζει με αυτό , και πηγαίνει κάτω από την " if-else " δήλωση στο βήμα 4 :

else { lucas επιστροφή ( x - 1 ) + lucas ( x - 2 ) ? }

6

Call lucas στην κύρια λειτουργία . Θα τοποθετήσετε κύρια λειτουργία σας κάτω από τη λειτουργία τελικού lucas , εκτός από αγκύλες του . Ολόκληρη η κύρια λειτουργία θα πρέπει να μοιάζει κάπως έτσι :

int main ( ) {

int y = lucas ( 7 ) ? Cout < Η 7

Μεταγλωττίστε και εκτελέστε αυτό το πρόγραμμα ( πολλά περιβάλλοντα ανάπτυξης πετύχουν αυτό πατώντας F5 ) . Η έξοδος του προγράμματος θα είναι οι οκτώ πρώτοι αριθμοί στη σειρά Lucas : 2 , 1 , 3 , 4 , 7 , 11 , 18 , 29
Η
εικόνων .

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα