Πρόγραμμα Python για την εκτύπωση της ακολουθίας Fibonacci

1
Πρόγραμμα Python για την εκτύπωση της ακολουθίας Fibonacci

Στα Μαθηματικά, η Σειρά Fibonacci είναι μια ακολουθία αριθμών έτσι ώστε κάθε αριθμός στη σειρά να είναι ένα άθροισμα των προηγούμενων αριθμών. Η σειρά ξεκινά με 0 και 1. Αυτό το ιστολόγιο θα μας διδάξει πώς να δημιουργήσουμε τη σειρά Fibonacci στην Python χρησιμοποιώντας βρόχο, αναδρομή και δυναμικό προγραμματισμό. Δείτε αυτό το μάθημα Python για αρχάριους που ετοιμάσαμε για να βελτιώσετε τις δεξιότητές σας.

  1. Τι είναι η σειρά Fibonacci
  2. Λογική σειράς Fibonacci
  3. Φόρμουλα σειράς Fibonacci
  4. Σπείρα Fibonacci
  5. Αλγόριθμος σειράς Fibonacci
  6. Σειρά Fibonacci σε Python
    ένα. Σειρά Fibonacci με χρήση βρόχου
    σι. Σειρά Fibonacci με χρήση αναδρομής
    ντο. Σειρά Fibonacci με χρήση δυναμικού προγραμματισμού
  7. Συχνές ερωτήσεις

Ο Leonardo Pisano Bogollo ήταν Ιταλός μαθηματικός από τη Δημοκρατία της Πίζας και θεωρούνταν ο πιο ταλαντούχος δυτικός μαθηματικός του Μεσαίωνα. Έζησε μεταξύ 1170 και 1250 στην Ιταλία. «Φιμπονάτσι» ήταν το παρατσούκλι του, που σημαίνει «Γιος του Μπονάτσι». Ο Fibonacci δεν ήταν ο πρώτος που έμαθε για την ακολουθία και ήταν γνωστό στην Ινδία εκατοντάδες χρόνια πριν!

Τι είναι Σειρά Fibonacci?

Η σειρά Fibonacci είναι ένα μοτίβο αριθμών από το οποίο προκύπτει κάθε αριθμός προσθέτοντας τους δύο τελευταίους διαδοχικούς αριθμούς. Οι 2 πρώτοι αριθμοί ξεκινούν από το 0 και το 1 και ο τρίτος αριθμός στην ακολουθία είναι 0+1=1. Ο 4ος αριθμός είναι η πρόσθεση του 2ου και του 3ου αριθμού, δηλαδή 1+1=2 κ.ο.κ.
Η ακολουθία Fibonacci είναι η σειρά των αριθμών:
0, 1, 1, 2, 3, 5, 8, 13, 21, 34,…

Σειρά Fibonacci σε python

Η λογική της σειράς Fibonacci

Ο παρακάτω αριθμός είναι ένα άθροισμα των δύο αριθμών πριν από αυτόν.
Το 3ο στοιχείο είναι (1+0) = 1
Το 4ο στοιχείο είναι (1+1) = 2
Το 5ο στοιχείο είναι (2+1) = 3

Φόρμουλα σειράς Fibonacci

Επομένως, ο τύπος για τον υπολογισμό της σειράς έχει ως εξής:
Χn = xn-1 + xn-2 ; όπου
Χn είναι ο όρος αριθμός „n“
Χn-1 είναι ο προηγούμενος όρος (n-1)
Χn-2 είναι ο όρος πριν από αυτό

Σπείρα Fibonacci

Μια συναρπαστική ιδιότητα σχετικά με αυτούς τους αριθμούς είναι ότι έχουμε μια σπείρα όταν κάνουμε τετράγωνα με αυτά τα πλάτη. Μια σπείρα Fibonacci είναι ένα σχέδιο τεταρτοκύκλων που συνδέονται μέσα σε ένα μπλοκ τετραγώνων με αριθμούς Fibonacci γραμμένους σε καθένα από τα μπλοκ. Ο αριθμός στο γιγάντιο τετράγωνο είναι το άθροισμα των παρακάτω 2 μικρότερων τετραγώνων. Αυτή είναι μια τέλεια διάταξη όπου κάθε μπλοκ συμβολίζεται με μεγαλύτερο αριθμό από τα δύο προηγούμενα μπλοκ. Η κύρια ιδέα έχει προέλθει από το λογαριθμικό μοτίβο, το οποίο επίσης μοιάζει παρόμοιο. Αυτοί οι αριθμοί σχετίζονται επίσης με τη χρυσή τομή.

Σειρά Fibonacci
Σειρά Fibonacci

Μάθετε πώς μπορείτε να βρείτε εάν μια συμβολοσειρά είναι Palindrome στην Python

Αλγόριθμος σειράς Fibonacci

Επαναληπτική Προσέγγιση

  • Αρχικοποιήστε τις μεταβλητές a,b έως 1
  • Εκκίνηση για βρόχο στην περιοχή[1,n) # n exclusive
  • Compute next number in series; total = a+b
  • Store previous value in b
  • Store total in a

Recursive Approach

  • If n equals 1 or 0; return 1
  • Else return fib(n-1) + fib(n-2)

Dynamic Programming Approach

  • Initialize an array arr of size n to zeros
  • If n equals 0 or 1; return 1 Else
  • Initialize arr[0] και αρ[1] προς 1
  • Εκτελέστε βρόχο στην περιοχή[2,num]
  • Υπολογίστε την τιμή arr[I]=αρ[I-1] +αρρ[I-2]
  • Ο πίνακας έχει την ακολουθία υπολογισμένη μέχρι το n

Ως εκ τούτου, η λύση θα ήταν να υπολογίσετε την τιμή μία φορά και να την αποθηκεύσετε σε έναν πίνακα από όπου θα είναι δυνατή η πρόσβαση σε αυτήν την επόμενη φορά που απαιτείται. Επομένως, χρησιμοποιούμε δυναμικό προγραμματισμό σε τέτοιες περιπτώσεις. Οι προϋποθέσεις για την εφαρμογή δυναμικού προγραμματισμού είναι
1. επικαλυπτόμενα υποπροβλήματα
2. βέλτιστη υποδομή

Επαναληπτική Προσέγγιση

def fib_iter(n):
    a=1
    b=1
    if n==1:
        print('0')
    elif n==2:
        print('0','1')
    else:
        print("Iterative Approach: ", end=' ')
        print('0',a,b,end=' ')
        for i in range(n-3):
            total = a + b
            b=a
            a= total
            print(total,end=' ')
        print()
        return b
        
fib_iter(5)

ΔΟΚΙΜΑΣΤΕ ΤΟΝ ΚΩΔΙΚΟ

Έξοδος : Επαναληπτική προσέγγιση : 0 1 1 2 3

Αναδρομική Προσέγγιση

def fib_rec(n):
    if n == 1:
        return [0]
    elif n == 2:
        return [0,1]
    else:
        x = fib_rec(n-1)
        # the new element the sum of the last two elements
        x.append(sum(x[:-3:-1]))
        return x
x=fib_rec(5)
print(x)

ΔΟΚΙΜΑΣΤΕ ΤΟΝ ΚΩΔΙΚΟ

Έξοδος – 0, 1, 1, 2, 3

Προσέγγιση Δυναμικού Προγραμματισμού

There is a slight modification to the iterative approach. We use an additional array.

def fib_dp(num):
    arr = [0,1]
    print("Dynamic Programming Approach: ",end= ' ')
    if num==1:
        print('0')
    elif num==2:
        print('[0,','1]')
    else:
        while(len(arr)<num):
            arr.append(0)
        if(num==0 or num==1):
            return 1
        else:
            arr[0]=0
            arr[1]=1
            for i in range(2,num):
                arr[i]=arr[i-1]+arr[i-2]
            print(arr)    
            return arr[num-2]
fib_dp(5)

ΔΟΚΙΜΑΣΤΕ ΤΟΝ ΚΩΔΙΚΟ

Έξοδος – 0, 1, 1, 2, 3

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

Συχνές ερωτήσεις

Ποιες είναι οι ιδιότητες της σειράς Fibonacci;

Η σειρά Fibonacci έχει πολλές ιδιότητες, όπως:
-Κάθε αριθμός στη σειρά είναι το άθροισμα των δύο προηγούμενων αριθμών.
– Οι δύο πρώτοι αριθμοί της σειράς είναι το 0 και το 1.

Ποιες είναι μερικές εφαρμογές της σειράς Fibonacci;

Η σειρά Fibonacci έχει πολλές εφαρμογές, όπως:
-Μπορεί να χρησιμοποιηθεί για τη μοντελοποίηση της αύξησης των πληθυσμών των ζώων.
-Μπορεί να χρησιμοποιηθεί για τον υπολογισμό της Χρυσής Αναλογίας, που χρησιμοποιείται στην αρχιτεκτονική και την τέχνη.
-Μπορεί να χρησιμοποιηθεί στον προγραμματισμό υπολογιστών για τη δημιουργία αποδοτικών αλγορίθμων.

Ποια είναι η χρονική πολυπλοκότητα της δημιουργίας της σειράς Fibonacci;

Η χρονική πολυπλοκότητα της δημιουργίας της σειράς Fibonacci είναι O(n).

Ποια είναι η διαστημική πολυπλοκότητα της αποθήκευσης της σειράς Fibonacci;

Η σειρά Fibonacci είναι μια άπειρη ακολουθία, επομένως η πολυπλοκότητα του χώρου είναι άπειρη.

Περαιτέρω ανάγνωση

  1. Παραγοντικό ενός αριθμού στην Python
  2. Palindrome σε Python
  3. Μετατροπή λίστας σε συμβολοσειρά στην Python
  4. Η συνάρτηση Eval στην Python

Schreibe einen Kommentar