No.1ベストアンサー
- 回答日時:
以下で如何でしょう。
考え方
a~fの各文字の間にbitを置き、1なら両側の文字がくっつくとする。
a~fだと5bitになるので、00000~11111で文字の状態をつくりprintする。
------------------------------------------
<?PHP
$original = "a b c d e f";
$org_ary = explode(' ', $original); // 要素数6
$max_cnt = pow(2, count($org_ary) - 1); // bitで表せる状態数
$max_digit = $max_cnt / 2; // 最上位bitのみ1のときの値
for($cnt = 0; $cnt < $max_cnt; $cnt++){
$data0 = $org_ary;
$data1 = array();
array_push($data1, array_shift($data0));
$digit = $max_digit;
while($digit != 0){
if(($cnt & $digit) != 0){ // 状態cntのn bitが1ならば、両側の文字をくっつけて$data1に格納
$tmp = array_pop($data1) . array_shift($data0);
array_push($data1, $tmp);
}
else {
array_push($data1, array_shift($data0));
}
$digit >>= 1;
}
print(implode(',', $data1) . "\n");
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) python質問 1 2023/08/14 11:54
- JavaScript javascriptで文字分割は、 split() などメソッド不要??? 4 2023/02/06 22:50
- Excel(エクセル) capeofdragonと申します Excel2016を使っておりまして 半角又は全角の任意文字列が 2 2022/10/31 13:51
- C言語・C++・C# C#の問題です。 文字列型の配列 s[100] にキーボードから入力された100文字以内の文字列(単 2 2022/06/22 15:18
- Visual Basic(VBA) 特定の文字を簡単な操作で半角スペースに変換するか削除したい 2 2022/11/01 10:35
- Excel(エクセル) 【画像あり】A1が●+B1と同じ文字がB列にある+C1と同じ文字がC列にある場合D1に〇を付ける 3 2023/03/09 18:18
- WordPress(ワードプレス) Wordpressの記事URLを自由に決めたい 3 2022/06/02 12:05
- その他(コンピューター・テクノロジー) googleスプレッドシートでカッコ内の文字数をカウントしたい 1 2023/01/17 15:52
- PHP SQLとPHPの連結方法がわからないのでアドバイスお願い致します 1 2022/07/12 12:16
- Java Javaの問題なのですが、「3文字以上の英数字文字列を入力し、文字列の中に文字(9)が出てくるまでの 1 2023/06/06 18:55
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
プログラミングのPythonのnoteb...
-
スカラーのベクトル微分
-
forとかで連番の変数を一気に格...
-
array_mapの再帰処理がうまく行...
-
PHPでDBの複数行更新について
-
mb_encode_numericentityでタグ...
-
CArrayの要素としてCStringArra...
-
C言語の配列をPush(追加)する...
-
PHPで2次元配列を1次元配列に...
-
特定の文からメールアドレスの...
-
mallocで char *型の配列を確...
-
配列の添え字が小数だとどうなる?
-
PHPでこのコード自体に意味は無...
-
PHPのカッコ[ ]の使い方について
-
ヒアドキュメントの中のfor文
-
PHPで連想配列のプルダウンメニ...
-
複数行のデータのPOST処理に関して
-
エラーメッセージ(無効な間接...
-
連想配列のキー値(連番)を基...
-
fgetsで取り込んだ文字をexplod...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
スカラーのベクトル微分
-
特定の文からメールアドレスの...
-
読み(あ行~わ行)ごとに分け...
-
ファイルの書き込みについて教...
-
php で1から100までの素数の表...
-
C言語の配列をPush(追加)する...
-
配列の要素(value)に、変数を...
-
STLのvectorで作った配列をメン...
-
C言語 最大値と最小値を求めて...
-
行列
-
verilogで、配列の一部をタスク...
-
CArrayのソート
-
PHPのセレクトボックスの初期値...
-
Perlで重複行を削除したい
-
pythonのnumpyでの繰り返しでの...
-
System.String.Splitでエラー
-
連想配列から<th>を含むテーブ...
-
2次元配列CSVのソート
-
Pager::factory()の使い方がわ...
-
【PHP】配列のキー名の修正は可...
おすすめ情報