この問題をオンラインで見たので、 で解決しようとしていましたC++
。私は次のアルゴリズムを持っています:
char permutations( const char* word ){
int size = strlen( word );
if( size <= 1 ){
return word;
}
else{
string output = word[ 0 ];
for( int i = 0; i < size; i++ ){
output += permutations( word );
cout << output << endl;
output = word[ i ];
}
}
return "";
}
たとえば、入力として, , , ,をabc
表示したい場合。だから、私がやろうとしていることはabc
acb
bac
bca
cab
cba
'abc' => 'a' + 'bc' => 'a' + 'b' + 'c'
=> 'a' + 'c' + 'b'
word
そのため、関数呼び出しごとに少ない文字を渡す必要があります。誰かがそれを行う方法を手伝ってもらえますか?