Cプログラミング
 Computer >> コンピューター >  >> プログラミング >> Cプログラミング

与えられた文字列から形成できる任意の長さのすべての可能な文字列?


このセクションでは、任意の長さのすべての可能な文字列を生成する方法を説明します。これにより、文字の各組み合わせを使用して文字列を作成します。たとえば、文字列がABCの場合、次のように生成されます-{A、B、C、AB、BA、BC、CB、CA、AC、ABC、ACB、BAC、BCA、CAB、CBA}

アイデアを得るために例を見てみましょう。

アルゴリズム

printAllString(str)

 Begin n:=文字列の長さstrcountは2^ n – 1で、カウントする数値0ごとに、sub_str:=0からnの範囲のjに対して空の文字列を実行し、カウンターのj番目のビットが設定されている場合に実行します。次に、strのj番目の文字をsub_str endと連結します。繰り返します。sub_stringの次の並べ替えが完了しなくなるまで、sub_stringを出力します。doneEnd

 #include  #include  #include  using namespace std; void printAllString(string str){int n =str.size(); unsigned int count =pow(2、n); for(int counter =1; counter  

出力

 ABABBACACCABCCBABCACBBACBCACABCBADADDABDDBABDADBBADBDADABDBACDDCACDADCCADCDADACDCABCDBDCCBDCDBDBCDCBABCDABDCACBDACDBADBCADCBBACDBADCBCADBCDABDACBDCACABDCADBCBADCBDACDABCDBADABCDACBDBACDBCADCABDCBA 
  1. C / C ++で番号をダイヤルするために使用できる文字列のすべての組み合わせ?

    特定の番号に関して、次の仕様を使用して、電話で特定の番号にダイヤルするために実装できる文字列のすべての可能な組み合わせを表示または印刷します。 指定された電話で、ダイヤルできます 2AまたはBまたはCの実装 3DまたはEまたはFの実装 ………………。 8TまたはUまたはVの実装 9WまたはXまたはYまたはZの実装 11つだけを実装 0実装0。 たとえば、89が指定された電話番号である場合、プログラムは印刷する必要があります TW、TX、TY、TZ、UW、UX、UY、UZ、VW、VX、VY、VZ #include <stdio.h&

  2. 与えられた角度からの弧の長さ?

    ここでは、指定された角度から弧長を取得する方法を説明します。 1つの円が与えられます。円の半径が与えられます。私たちのタスクは、半径と角度を使用して弧の長さを取得することです。角度は度単位です。 ここでrとxが与えられます。 Lの値を見つける必要があります。式は次のようになります- 𝐿 = 2𝜋𝑟 ∗ (𝑥/360) 例 #include <iostream> using namespace std; float getArcLength(float r, float x){    return (2 * 3.1415f * r)