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()