Retour aux défis
Facile 0 résolus 0 % de réussite

Nombre de Fibonacci

Retournez le n-ième nombre de Fibonacci.

Ce que vous allez apprendre

  • Générer une suite à partir des termes précédents
  • Mettre à jour deux variables à la fois
  • Voir pourquoi la récursion naïve est lente

Problème

La suite de Fibonacci commence par 0, 1 et chaque nombre suivant est la somme des deux précédents : 0, 1, 1, 2, 3, 5, 8, …. F(0) = 0 et F(1) = 1.

Implémentez fibonacci(n).

Entrée

n : La position dans la suite.

Sortie

Retournez F(n).

Contraintes

0 ≤ n ≤ 90

Exemples

Exemple 1
Entrée :
n = 10

Sortie attendue :
expected = 55
Entrée :
long long n = 10;

Sortie attendue :
long long expected = 55;
Entrée :
long n = 10;

Sortie attendue :
long expected = 55;

Explication

0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55 : F(10) = 55.

Exemple 2
Entrée :
n = 0

Sortie attendue :
expected = 0
Entrée :
long long n = 0;

Sortie attendue :
long long expected = 0;
Entrée :
long n = 0;

Sortie attendue :
long expected = 0;

Explication

Par définition, F(0) = 0.

Comment l'aborder

Essayez d'abord seul, puis ouvrez les indices un par un.

Indice 1

Les deux premières valeurs sont fixes, donc commencez par les cas de base.

Indice 2

Construisez les valeurs suivantes à partir des deux précédentes au lieu de recalculer récursivement.

Indice 3

Utilisez une approche itérative pour éviter le travail répété et une récursion profonde.

Complexité attendue

temps O(n), espace supplémentaire O(1)

Références

Ce défi a été adapté pour CodeUtility. Suivez l'énoncé et les contraintes ci-dessus.

Apprenez des autres

Solutions de la communauté

Aucune solution publiée pour l'instant. Résolvez ce défi pour partager la première.