Sekwencja Fibonacciego w Pythonie

Naucz się pisać programy wykorzystujące sekwencję Fibonacciego!

Sekwencja Fibonacciego pojawia się i prezentuje na wiele sposobów w matematyce i informatyce / programowaniu. Ten artykuł ma na celu opisanie kilku sposobów, w jakie możesz zobaczyć Fibonacciego, i jak używać Pythona do odkrywania różnych aspektów sekwencji.

Co to jest sekwencja Fibonacciego?

Ciąg Fibonacciego to ciąg liczb naturalnych, zaczynający się od 1. To wygląda tak:

1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, ....

Jest to ważna kwestia, ponieważ za jej pomocą można rekurencyjnie obliczyć wiele wartości ciągu Fibonacciego. Zobaczmy, co możemy zrobić!

Ciąg Fibonacciego to ciąg liczb naturalnych rozpoczynający się od, 1, 1a n-ta liczba Fibonacciego jest sumą dwóch wyrazów poprzedzających ją.

Generowanie warunków ciągu Fibonacciego

Najpierw przyjrzyjmy się, w jaki sposób możemy efektywnie generować terminy Fibonacciego. Najłatwiejszym sposobem jest użycie pustej listy i pętli for do generowania terminów.

Najpierw zdefiniujmy nasze zmienne. Definiujemy ai bjesteśmy pierwszymi dwoma wyrazami w sekwencji, a następnie inicjujemy listę (z pierwszymi dwoma wyrazami 1, 1już wewnątrz niej) o nazwie series.

Teraz kodujemy naszą forpętlę. Chcemy, aby działał w pętli, generując nwarunki ciągu Fibonacciego. Na potrzeby tego przykładu ustawiliśmy n = 20.

To, co tutaj zrobiłem, to skonfigurowanie pętli for range(2, n). Ponieważ nw tym przykładzie jest równe 20, pętle for dla każdego x w przedziale [2, n ]. Wcięcie wewnątrz pętli to nasza definicja ciągu Fibonacciego: każdy wyraz jest sumą dwóch poprzedzających go terminów. Na koniec pętla dołącza ten termin do listy series.

Druk seriesdaje dokładnie to, czego chcemy:

[1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765]

Możemy znaleźć n-ty termin za pomocą kodu, który wymyśliliśmy w poprzedniej sekcji. Powiedzmy, że chcemy znaleźć ten itermin (używam tutaj i , ponieważ n jest już zmienną). W tym przykładzie, powiedzmy, że chcemy znaleźć 200,034 człon ciągu Fibonacciego.

Po prostu dodałem kolejną zmienną ii zastąpiłem print(series)ją print(series[i - 1]). Oto wynik:

192373285415866760557173433121516375224056333183434393978124354879532171146744121900663998692213158072140530482128152339686087292623251900269329431030759110518214979329456400212272402706074377403263085149104405417566753948669711296429582649835058544457983707589484754554876558078026664214361845487674198261493554551752199998272364859229929664626978362056289296383617431515020113224233955551537148621593421931721823689908385768027872232929533372485.............................

Znajdowanie sumy warunków

Teraz pójdziemy o krok dalej i spróbujemy znaleźć sumę wyrazów ciągu Fibonacciego aż do terminu n. Jak zwykle zaczynamy od oryginalnego kodu:

Teraz musimy tylko zakodować kolejną pętlę for, aby znaleźć sumę wszystkich terminów na liście series. W tym przykładzie załóżmy n = 300: sumę pierwszych 300 liczb Fibonacciego. To powinno być łatwe:

Po prostu powiedzieliśmy, że dla każdego terminu na liście seriesustaw sumę równą istniejącej sumie skumulowanej plus ten okres. Po uruchomieniu tego kodu otrzymujemy oczekiwany wynik:

581811569836004006491505558634099066259034153405766997246569400

Teraz, gdy omówiłem już wszystkie podstawy ciągu Fibonacciego, pozwolę sobie na kilka pytań do przemyślenia:

  • Spróbuj znaleźć sumę wszystkich nieparzystych terminów do n = 1000.
  • Spróbuj znaleźć sumę wszystkich parzystych warunków do n = 1000.
  • Spróbuj stworzyć narzędzie Pythona dla Fibonacciego: pozwalając użytkownikowi wprowadzać własne liczby

Suggested posts

Wyszukiwanie informacji o nazwach domen

Fragment książki Small, Sharp Software Tools autorstwa Briana P. Hogana

Wyszukiwanie informacji o nazwach domen

Kiedy wysyłasz żądanie do facebook.com, Twój komputer wyszukuje nazwę domeny, aby przetłumaczyć tę nazwę domeny na adres IP, aby komputer mógł nawiązać to połączenie.

Jak bezpłatnie uruchamiać wtyczki ChatGPT za pomocą Langchain

Jak bezpłatnie uruchamiać wtyczki ChatGPT za pomocą Langchain

Na pewno słyszałeś o wszystkich nowych, potężnych wtyczkach ChatGPT, takich jak przeglądarka, interpreter kodu itp. Ale jest problem, dostęp do wtyczek jest ograniczony do listy oczekujących, przez co wielu nie ma do nich dostępu.

Related posts

Czy sztuka jest kiedykolwiek apolityczna?

Czy sztuka jest kiedykolwiek apolityczna?

Wczoraj zamknęliśmy drzwi tegorocznego Konkursu Piosenki Eurowizji błyskotliwym, chaotycznym wielkim finałem, w którym szwedzka piosenkarka Loreen zabrała do domu trofeum, stając się pierwszą kobietą, która wygrała dwa razy i przywracając koronę Szwecji 50 lat po tym, jak ABBA wygrała konkurs z „Waterloo”. Stali się jednym z największych zespołów w kanonie muzyki pop.

Finansowanie usuwania dwutlenku węgla w RO24

Podział wniosków o środki Carbon180 na różne ścieżki

Finansowanie usuwania dwutlenku węgla w RO24

Autor: Alyson Lee, doradca zarządzający ds. spraw rządowych Coroczny proces przyznawania środków przez rząd federalny ma kluczowe znaczenie dla naszych wysiłków na rzecz sfinansowania usuwania dwutlenku węgla (CDR). Każdego roku Carbon180 przesyła prośby do różnych biur kongresowych, aby pomóc wskazać, gdzie będą płynąć dolary w przyszłym roku.

Co wpływa na podcast?

Co wpływa na podcast?

W zeszłym tygodniu zauważyłem komunikat prasowy, wysłany za pośrednictwem PressGazette (brytyjski serwis informacyjny). W artykule ogłoszono, że Acast, skandynawska firma hostingowa i reklamowa podcastów, będzie przewodzić konsorcjum „prawdopodobnie najbardziej wpływowych” wydawców podcastów.

Zabójstwo Jordana Neely'ego i problem „patriotycznego” rasizmu

Czy Stany Zjednoczone mogą zrobić zasadniczy krok, by nie utożsamiać zachowania rasistowskiego z byciem dobrym Amerykaninem?

Zabójstwo Jordana Neely'ego i problem „patriotycznego” rasizmu

[Ostrzeżenie: ten esej zawiera zrzuty ekranowe ludzi wychwalających mordercę Jordana Neely'ego.] Funkcjonariusze organów ścigania w końcu - i być może niechętnie - oskarżyli Daniela Penny'ego, człowieka, który dusił Jordana Neely'ego aż do śmierci, o to zabójstwo.