事前定義された値を持つ 4 つの変数 a、b、c、d が与えられると、使用される変数に従って指定された括弧が出力されます。
Where 変数、
a for (( b for () c for )( d for ))
このタスクは、指定されたすべての括弧を使用して、バランスのとれた括弧式を出力するか、バランスの取れた括弧式を形成できない場合は -1 を出力することです。複数の回答がある場合は、指定された括弧を使用して形成された複数の回答のいずれかを出力できます。
Input: a = 3, b = 2, c = 4, d = 3 Output : (((((()()()()())))))()()
この結果を達成するには、まず、指定された数の括弧でバランスの取れた括弧式を形成できるかどうかを確認します。指定された数のかっこから式を構築できる場合は、それが可能です。
以下は、メソッドのアルゴリズムと実装です。
START Step 1 -> Declare Function void print(int a, int b, int c, int d) Declare int i IF ((a == d && a) || (a == 0 && c == 0 && d == 0)) Loop For i=1 and i<=a and i++ Print (( End Loop For i=1 and i<=c and i++ Print )( End Loop For i=1 and i<=d and i++ Print )) End Loop For i=1 and i<=b and i++ Print () End Else Print can’t be formed Step 2 -> main() Declare int a = 3, b = 2, c = 4, d = 3 Call print(a,b,c,d) STOP
#include<stdio.h> void print(int a, int b, int c, int d){ int i; if ((a == d && a) || (a == 0 && c == 0 && d == 0)){ for (i = 1; i <= a; i++) printf("(("); for (i = 1; i <= c; i++) printf(")("); for (i = 1; i <= d; i++) printf("))"); for (i = 1; i <= b; i++) printf("()"); } else printf("can't be formed"); } int main(){ int a = 3, b = 2, c = 4, d = 3; print(a, b, c, d); return 0; }
上記のプログラムを実行すると、次の出力が生成されます
(((((()()()()())))))()()
以上が指定された括弧を使用して、C プログラムでバランスのとれた括弧表現を出力します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。