imagine-fundal

Blog / Generare numere din șirul lui Fibonacci algoritm în C++ Python Java
facebook instagram whatsapp tiktok twitter

     În tutorialul de astăzi vom parcurge algoritmul de generare numere Fibonacci. Acesta apare atât în problemele de la clasă, cât și la cele de olimpiade sau concursuri. Totodată, poate fi scris în toate limbajele de programare, ca urmare vom parcurge reprezentările în C++ Imagine C++, Python Imagine Python și Java Imagine Java. După cum spune și numele, acest algoritm ne ajută să generăm eficient numerele din șirul lui Fibonacci. Acest șir creat de matematicianul Fibonacci constă în însumarea penultimului și antepenultimului număr pentru a-l obține pe ultimul. Mai exact, primele numere sunt 1, 1, 2, 3, 5, 8, 13, 21, 34 etc. Deci regula pe care o respectă este Fibonacci[i] = Fibonacci[i - 1] + Fibonacci[i - 2], pentru oricare număr din șir. Înainte de a începe să scriem codul vom înteleg cum funcționează. Tehnicile folosite sunt aproximativ aceleași, așa că explicațiile sunt la modul general.

Citim într-o variabilă numărul introdus de la tastatură. Acum, apelăm funcția generare_fibonacci() cu singurul parametru, totalul de numere care vor fi afișate. Primul pas necesar este declararea variabilelor necesare, vom avea nevoie de trei numere întregi și apoi le vom afișa pe primele două din șir. Următorul pas este folosirea unei structuri repetitive cu număr cunoscut de pași, care va genera numerele șirului până la indicatorul trimis, folosind formula de mai sus, c = a + b, a = b, b = c. Opțional, putem micșora variabila de intrare cu 2, deoarece primele poziții din șir sunt ocupate de cifra 1, care nu este luată în considerare în toate problemele și poate, ca urmare, să afișeze un rezultat greșit.

     Mai jos puteți vedea implementările în limbajele C++, Python și Java și câteva probleme pe care le recomandăm pentru a înțelege mai bine tutorialul de astăzi.

     Probleme recomandate de pe platforma PBinfo: Fibonacci, FiboVerif, FiboSum, Fibonacci1, Fibonacci Generalizat

Implementarea C++ Imagine C++:

Implementarea Python Imagine Python:

Implementarea Java Imagine Java:

imagine

pbinfo / 3281

imagine

cssbattle / 66

imagine

pbinfo / 2808