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)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

Jak uratować planetę i zarabiać pieniądze

Jak uratować planetę i zarabiać pieniądze

Ile razy bez zastanowienia wyrzuciłeś plastikową butelkę, szklany słoik, aluminiową puszkę lub pakiet zielonej energii? Ile razy chciałeś dostać coś w zamian za ich recykling? Jeśli jesteś jak większość ludzi, odpowiedź brzmi prawdopodobnie wiele razy. Recykling jest często postrzegany jako kłopot, przykry obowiązek lub obowiązek, który nie przynosi żadnych natychmiastowych ani wymiernych korzyści.

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.

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.

Pierwsza książka dla dzieci o tym, jak się naćpać

Pierwsza książka dla dzieci o tym, jak się naćpać

(Ostrzeżenie - to jest satyra, która ma być radośnie wywrotowa - zdecydowanie nie dla dzieci) Widziałeś, jak twoja mama i tata chowają się w kuchni i palą śmierdzące papierosy. Mówią ci.