Ciąg Fibonacciego to sekwencja liczb, w której każda kolejna liczba jest sumą dwóch poprzednich. Ciąg zaczyna się od 0 i 1, a każda następna liczba jest sumą dwóch poprzednich.
Definicja ciągu Fibonacciego
Implementacja Ciągu Fibonacciego w językach programowania
Implementacja ciągu Fibonacciego w języku Python - iteracyjnie
def fibonacci(n):
a, b = 0, 1
for _ in range(n):
a, b = b, a + b
return a
for i in range(10):
print(fibonacci(i))
Wyniki
Uruchomienie powyższego kodu spowoduje wydrukowanie pierwszych 10 liczb w ciągu Fibonacciego:
0
1
1
2
3
5
8
13
21
34
Taki sposób implementacji jest efektywny i prosty, wykorzystując jedynie podstawowe operacje arytmetyczne i zmienne do przechowywania wyników.
Implementacja ciągu Fibonacciego w języku Python - rekurencyjnie
def fibonacci(n):
if n <= 1:
return n
else:
return fibonacci(n-1) + fibonacci(n-2)
for i in range(10):
print(fibonacci(i))
Implementacja ciągu Fibonacciego w języku C++ - iteracyjnie
#include <stdio.h>
int fibonacci(int n) {
int a = 0, b = 1, c;
if (n == 0) return a;
for (int i = 2; i <= n; i++) {
c = a + b;
a = b;
b = c;
}
return b;
}
int main() {
for (int i = 0; i < 10; i++) {
printf("%d\n", fibonacci(i));
}
return 0;
}
Implementacja ciągu Fibonacciego w języku C++ - rekurencyjnie
#include <stdio.h>
int fibonacci(int n) {
if (n <= 1) return n;
return fibonacci(n-1) + fibonacci(n-2);
}
int main() {
for (int i = 0; i < 10; i++) {
printf("%d\n", fibonacci(i));
}
return 0;
}
Implementacja ciągu Fibonacciego Java - iteracyjnie
public class Fibonacci {
public static int fibonacci(int n) {
if (n <= 1) return n;
int a = 0, b = 1;
for (int i = 2; i <= n; i++) {
int c = a + b;
a = b;
b = c;
}
return b;
}
public static void main(String[] args) {
for (int i = 0; i < 10; i++) {
System.out.println(fibonacci(i));
}
}
}
Implementacja ciągu Fibonacciego Java - rekurencyjnie
public class Fibonacci {
public static int fibonacci(int n) {
if (n <= 1) return n;
return fibonacci(n-1) + fibonacci(n-2);
}
public static void main(String[] args) {
for (int i = 0; i < 10; i++) {
System.out.println(fibonacci(i));
}
}
}
Implementacja ciągu Fibonacciego JavaScript - iteracyjnie
function fibonacci(n) {
let a = 0, b = 1;
for (let i = 0; i < n; i++) {
[a, b] = [b, a + b];
}
return a;
}
for (let i = 0; i < 10; i++) {
console.log(fibonacci(i));
}
Implementacja ciągu Fibonacciego JavaScript - rekurencyjnie
function fibonacci(n) {
if (n <= 1) return n;
return fibonacci(n - 1) + fibonacci(n - 2);
}
for (let i = 0; i < 10; i++) {
console.log(fibonacci(i));
}
Każdy z powyższych przykładów pokazuje, jak zaimplementować ciąg Fibonacciego w różnych językach programowania zarówno w sposób iteracyjny, jak i rekurencyjny.
Komentarze