2016-12-21 5 views
-1

複数の角括弧のペアを指定すると、私はこれらの括弧のすべての正しい組み合わせを表示したいと思います。正しいことは、各組み合わせを閉じる前に各ブラケットを開くことを意味します。括弧の数が2である場合、例えば、出力は次のようになりますPython:ブラケットを配置するためのすべての可能なケースを表示する方法

3について
(()) 
()() 

((())) 
()()() 
(()()) 
(())() 
()(()) 

出力線の順序は問いません。

どのように私はそれをPythonで行うことができますか?

+5

あなたは私たちがあなたのためにいくつかのコードを書きたいように見えます。多くのユーザーは、苦労しているコーダーのコードを作成したいと考えていますが、通常、ポスターが既に問題を解決しようとしているときにのみ役立ちます。この努力を実証する良い方法は、これまでに書いたコード、サンプル入力(もしあれば)、期待される出力、実際に得られる出力(出力、トレースバックなど)を含めることです。あなたが提供する詳細があれば、受け取る可能性のある回答が増えます。 [FAQ](http://stackoverflow.com/tour)と[How to Ask](http://stackoverflow.com/questions/how-to-ask)を確認してください。 – TigerhawkT3

+0

@ TigerhawkT3あなたはこの最初の20 ..をいつ書きましたか? :D – MYGz

+0

@MohammadYusufGhazi - 私は今年それを使い始めましたが、かなり長い間ここを周遊してきました。自由にそれをコピーしてください。 – TigerhawkT3

答えて

0

は、このコードをしてください試してみてください。

def __F(l, r, pref): 
    if r < l or l < 0 or r < 0: 
     return 
    if r == 0 and l == 0: 
     print(pref) 
     return 
    __F(l - 1, r, pref + "(") 
    __F(l, r - 1, pref + ")") 

def F(n): 
    __F(n, n, "") 

F(2) 
F(3) 
関連する問題