Bonjour, j'ai besoin d'aide pour cet exercice de programmation et de suite mathématiques, Merci d'avance
On définit la suite de Fibonnacci en posant uo = u₁ = 1 et pour tout n E N, un+2 H Un+1 + Un. 1. Calculer U2, U3, U4, u5. 2. Ecrire une fonction qui, pour l'entier n donné, retourne la liste [uo, u₁, u2, un]. 3. En déduire une fonction qui, pour l'entier n donné, calcule un.
Lista de comentários
Réponse :
Explications :
u est une suite de Fibonnacci (la valeur de départ peut être différente)
u₀ = u₁ = 1
∀ n ∈ |N , uₙ₊₂ = uₙ₊₁ + uₙ
1)
u₂ = u₁ + u₀ = 2
u₃ = u₂ + u₁ = 3
u₄ = u₃ + u₂ = 5
u₅ = u₄ + u₃ = 8
2)
Pour programmer en ligne , cherche "trinket python3" .
Le projet est ici : https://trinket.io/python3/d62fdc7872
def fibo_1 (n) :
u0=u1=1
u2 = u1+u0
un=0
prec1=u1
prec2=u2
for i in range (3,n+1):
un=prec2+prec1
prec1=prec2
prec2=un
return u0, u1, u2, un
#PROGRAMME PRINCIPAL
print("PREMIERE FONCTION")
V0, V1, V2, Vn = fibo_1(5)
print ("V0: {}, V1: {}, V2: {}, Vn: {}".format(V0, V1, V2, Vn))
3)
Je n'ai pas bien compris le "en déduire"
def fibo(n): # fonction recursive, qui s'appelle elle-meme
# la condition d'arret : EN TETE !
if n == 0 or n == 1:
return 1
else:
return fibo(n-1) + fibo(n-2) # c'est beau ! c'est la def. mathématique
#PROGRAMME PRINCIPAL
print("SECONDE FONCTION")
for i in range(10):
print("U",i,"=",fibo(i))
TRACES
PREMIERE FONCTION pour n=5
V0: 1, V1: 1, V2: 2, Vn: 8
SECONDE FONCTION
U 0 = 1
U 1 = 1
U 2 = 2
U 3 = 3
U 4 = 5
U 5 = 8
U 6 = 13
U 7 = 21
U 8 = 34
U 9 = 55