ba42.py

Created by schraf

Created on May 01, 2023

395 Bytes

Nombre de façons d’écrire 5 paires de parenthèses bien formées.


c = 1 # compteur
n = 5 # nb paires parentheses
tab = [''] * 2 * n

def parentheses(pos = 0, ouvre = 0, ferme = 0):
 global c, tab, n       
 if ferme == n:
  print(c, ': ' + ''.join(tab))
  c += 1
  return
 else:
  if ouvre > ferme:
   tab[pos] = ')'
   parentheses(pos + 1, ouvre, ferme + 1)
  if ouvre < n:
   tab[pos] = '('
   parentheses(pos + 1, ouvre + 1, ferme)

parentheses()