piapia123
ja

文字列の順列と組み合わせ

テキスト

処理はすべてブラウザ内で完結します。データは送信されません

入力
ファイルをここにドロップすると読み込めます
出力

順列・k 個の組み合わせ・左右回転・直積を 1 つのツールで。最も重要なのは件数を先に計算してから生成することです。`abcdefghij` の順列は 3628800 件あり、先に生成するとページが固まってしまいます。上限を超える場合はエラーにし、何件必要かを伝えます。 重複文字は除去します。`aab` の順列は 6 件ではなく 3 件です。直積モードではカンマ区切りの各セグメントの文字が 1 グループになります(`ab,12` なら `a1 a2 b1 b2`)。 計算はすべてブラウザ内で完結し、通信もアップロードもありません。

機能

  • 5 つのモード:順列・組み合わせ(k 個)・左回転・右回転・直積
  • ⚠️ 正確な件数を先に計算し、上限超過時はエラー(無言の切り詰めはしない)
  • 重複文字を除去:aab の順列は 6 件ではなく 3 件
  • 組み合わせは母関数の係数で正確に数える
  • 生成順または辞書順での出力を選択可能
  • 結果の件数と現在の上限を表示
  • コードポイント単位で絵文字も壊れない

使い方

  1. テキストを 1 行入力します
  2. モードを選び、組み合わせの場合は k を設定します
  3. 必要に応じて重複除去・順序・上限を調整します
  4. 結果リストと件数がすぐに表示されます

よくある質問

なぜ上限超過でエラーにするのですか?
無言で切り詰めると「これで全部」と誤解されるからです。順列は階乗で増え、省かれた分が探しているものかもしれないため、必要な件数を伝える方が誠実です。
重複文字はどう処理しますか?
位置の交換ではなく、文字ごとの残り個数をたどって生成するため、同じ 2 つの a を入れ替えた結果は重複しません。だから `aab` は 3 件です。
直積はどう入力しますか?
カンマでグループを区切ります。各グループの文字が集合になります。`ab,12` なら a1、a2、b1、b2 の 4 件です。
データは送信されますか?
いいえ。すべてブラウザのメモリ内で計算し、通信も記録もありません。オフラインでも使えます。

関連ツール