Ejercicios de Go
Fibonacci Sequence in Go
Build the Fibonacci numbers with a loop, a double assignment and a slice.
Lo que aprenderás
- A loop with two variables
- a, b = b, a+b
- Why uint64
The first numbers
00
11
12
23
34
55
Each number is the sum of the two before
Each Fibonacci number is the sum of the two before it, starting from 0 and 1. Build the first numbers of the sequence in a slice.
a and b hold two neighbouring numbers. a, b = b, a+b moves both one step forward in a single assignment. uint64 is used because Fibonacci numbers grow quickly: the 50th no longer fits in 32 bits.
Puntos clave
- Start from 0 and 1.
- One assignment moves both values.
- uint64 holds much larger numbers than int32.
Ejemplo ejecutable de Go
main.go
package main
import "fmt"
func fibonacci(count int) []uint64 {
sequence := make([]uint64, 0, count)
a, b := uint64(0), uint64(1)
for i := 0; i < count; i++ {
sequence = append(sequence, a)
a, b = b, a+b
}
return sequence
}
func main() {
fmt.Println(fibonacci(10))
fmt.Println("50th:", fibonacci(50)[49])
}
[0 1 1 2 3 5 8 13 21 34]
50th: 7778742049Practica
Abre el ejemplo en el compilador online, cambia un valor o añade una línea y predice la salida antes de ejecutarlo. Después rompe el código a propósito y lee el mensaje del compilador.
¿Terminaste esta lección?
Márcala como aprendida para seguir tu progreso.
Tu progreso está guardado en este navegador Inicia sesión para conservarlo en todos tus dispositivos.
Practica con un reto
Usa lo que cubre esta lección para resolver un problema real. Cada reto se ejecuta en el navegador, con pruebas al instante y una revisión de IA.
- Número de Fibonacci Devuelve el n-ésimo número de Fibonacci. Fácil
- Suma de términos pares de Fibonacci Suma los términos pares de Fibonacci que no superen un límite. Fácil