Trouver toutes les combinaisons de bien-formé entre parenthèses

Ce m'est venue en parler à un ami et j'ai pensé que je voudrais vous demander ici, puisque c'est un problème intéressant et souhaitez en voir d'autres solutions.

La tâche est d'écrire une fonction entre Parenthèses(int n) qui imprime toutes les combinaisons de bien formé crochets à partir de 1...n. Pour les Crochets(3), la sortie serait

()
(())  ()()   
((()))  (()())  (())()  ()(())  ()()()
  • Personne ne sait pourquoi le nombre de bien-formé 2n crochets est C(2n, n) - C(2n, n+1). Je sais C(2n, n) n'est évidemment plus le comptage nous avons donc besoin de soustraire quelque chose, mais je ne vois pas comment quelque chose est C(2n, n+1)
InformationsquelleAutor aleemb | 2009-04-07