Fibonaccis talföljd och Fibonaccital

Fibonaccital är tal som ingår i en heltalsföljd, och där varje tal är summan av de två föregående talen. Fibonaccis talföljd börjar alltid med 0 och 1. Därefter slår du ihop de två sista talen för att skapa nästa tal i följden.

Den här typen av talföljd är uppkallad efter en italiensk matematiker kallad Leonardo Fibonacci som levde på 1200-talet. Han använde sig av talföljden för att beskriva tillväxten hos kaniner enligt specifika villkor.

Är talet / siffran ett fibonaccital?

Det gyllene snittet och fibonacci

Vad är fibonaccis talföljd?

Det enklaste sättet att börja förklaringen är att först introducera konceptet bakom en talföljd. Och det är en följd av tal där varje efterföljande tal påverkas av det tidigare talet i ett samband.

Ett av de enklaste exemplen är följande: 2, 4, 8, 16, 32, 64, 128, 256.

Det är en så kallat geometisk talföljd. Varje efterföljande tal får du genom att multiplicera föregående tal med en kvot. I fallet med exemplet ovan så är kvoten 2.

Om vi ökar kvoten till 3 så är exemplet: 3, 9, 27, 81, 243, 729, 2 187, 6 561.

Fibonaccis talföljd ser lite annorlunda ut. Istället för att multiplicera föregående tal med en kvot så adderas de två föregående talen med varandra. Så här:

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

Svårare än så är det inte.

Formeln för fibonaccis talföljd

Formeln för att räkna ut fibonaccis talföljd är enkel. Efter de två första talen som är 0 och 1 så används följande:

an = an − 1 + an− 2

Regeln för fibonaccis talföljd

n 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ...
xn 0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 ...

Tänk på

Talföljden är alltid jämn, udda, udda, jämn, udda, udda, jämn, udda, udda, osv...

Öva själv – hur många fibonaccital kan du?

Här är en enkel övningsuppgift som du, ditt barn eller elever på en skola kan prova. Prova själv eller i par.

Uppgiften

Se hur många tal du kan skriva utan att behöva kolla upp svaret!

Du behöver

Papper och penna. Om det är ett mindre barn som ska utföra uppgiften så kan en miniräknare vara ett bra hjälpmedel.

Gör så här

Kom ihåg att fibonaccis talföljd alltid börjar med 0 och 1. Påminn om att uträkningen alltid görs genom att addera de två sista talen i serien.

  • 0 + 1 = 1
  • 1 + 1 = 2
  • 1 + 2 = 3
  • 2 + 3 = 5
  • 3 + 5 = 8
  • 5 + 8 = ?

Försök få den eller de som räknar att göra huvudräkningen så långt det bara går, fortsätt sen på på papper.

Visste du?
Du hittar fibonaccis tal överallt i naturen. Bland annat i ananasens spiralformade mönster där talen 5 och 8 förekommer! Eller i tallkottens spiraler där du hittar talen 8 och 13. Och i solroshuvudets frön som visar 21, 34, 55 och uppåt!
Du hittar även talföljden i det gyllene snittet.

Programmera python kod

Skapa fibonaccis talföljd med Python

Om du håller på att lära dig Python så kanske du undrar hur man genererar en sekvens med fibonaccital i programkod. Här är en enkel men fungerande kod som gör just det. Användaren skriver in antalet tal som ska genereras och koden skapar sekvensen.

Så här fungerar Python-koden:

  1. Användaren skriver in antalet tal som ska genereras
  2. Om antalet tal är 3 eller fler så används en while-slinga tillsammans med formeln F(n) = F(n-1) + F(n-2) för att generera nya tal tills while-beroendet är uppfyllt.

nterms = int(input("Hur många tal? "))

# Första två talen är alltid 0 och 1
n1, n2 = 0, 1
count = 0

# Kontrollera om talet är ett fibonaccital
if nterms <= 0:
   print("Ange ett tal (endast positiva heltal)")
# Om det bara finns ett tal, returnera n1
elif nterms == 1:
   print("Fibonaccis talföljd upp till",nterms,":")
   print(n1)
# Generera hela följdes
else:
   print("Fibonaccis talföljd:")
   while count < nterms:
       print(n1)
       nth = n1 + n2
       # update values
       n1 = n2
       n2 = nth
       count += 1
                        

Skapa fibonaccis talföljd med Javascript

Vi kan göra exakt samma sak med Javascript om vi vill. Upplägget är samma som med Python-koden. Du anger ett tal och får lika många fibonaccital tillbaka av generatorn, men med hjälp av Javascript istället.

const number = parseInt(prompt('Ange antalet tal du behöver: '));
let n1 = 0, n2 = 1, nextTerm;

console.log('Fibonaccis talföljd:');

for (let i = 1; i <= number; i++) {
    console.log(n1);
    nextTerm = n1 + n2;
    n1 = n2;
    n2 = nextTerm;
}


                        

Lästips: Visste du att det finns något som heter glada tal / happy numbers?

Text: Daniel Haaf

Publicerad: 2023-10-12

Uppdaterad: 2023-10-12


Den här sidan är skriven av Daniel Haaf som har mer än 15 års erfarenhet som copywriter och content editor inom teknikbranschen. Förutom att skriva på rakna-ut.se så finns han även på haaf.se och allt-om-pengar.se. Innehållet på sidan är skapad efter bästa förmåga. Om du hittar felaktigheter eller vill tipsa om förbättringar så gör du det via om-sidan.