Skip to content

Latest commit

 

History

History
81 lines (63 loc) · 1.57 KB

5 - Les fonctions Recursives.md

File metadata and controls

81 lines (63 loc) · 1.57 KB

1 - Créer une fonction qui prend en paramètre un chiffre X et qui affiche X fois ‘coucou’ via une fonction récursive

def rec_coucou(nb_coucou):
  if nb_coucou > 0:
    print("Coucou")
    rec_coucou(nb_coucou-1)

2 - Recréer la fonction calculant la puissance via une fonction récursive

def rec_pow(number,power):
  if power<=0:
    return 1
  return number * rec_pow(number,power-1)

3 - Calculer la factorielle d’un nombre via une fonction récursive

def rec_fact(X):
  if X <= 1:
    return 1
  return X*rec_fact(X-1)

4 - Refaire l'exercice sur la suite de fibonacci via une fonction récursive

def Fibo(X):
  if X<=1:
    return X
  return Fibo(X-1) + Fibo(X-2)
cache=[0,1]

def fib(n):
  if n<len(cache):
    return cache[n] 
  else :
      calcul = fib(n-1) + fib(n-2) 
      cache.append(calcul) 
      return calcul

print(fib(5))

5 - Refaire l'exercice sur le calcul du pgcd via une fonction recursive

def rec_pgcd(a,b):
  if a%b==0:
    return b
  return rec_pgcd(b,a%b)

6 - Créer une fonction récursive permettant de retourner une chaine de charactères ("coucou" devient "uocuoc")

txt = "coucou" #-> uocuoc

def reverse_string (txt) :
  if len(txt) > 0:
    return txt[-1] + reverse_string(txt[:-1])
  else:
    return ""

print(reverse_string("coucou"))

#"u" + reverse("couco")
#"u" + "o" + reverse("couc")
#"u" + "o" + "c" + reverse("cou")
#"u" + "o" + "c" + "u" + reverse("co")
#"u" + "o" + "c" + "u" + "o" + reverse("c")
#"u" + "o" + "c" + "u" + "o" + "c" + reverse("")
#"u" + "o" + "c" + "u" + "o" + "c" + ""