🔀 段萜シャッフル

空行で区切られた耇数の段萜を、ランダムな順序に䞊べ替えるツヌルです。文章構成の怜蚎や、順序に䟝存しない蚭問・遞択肢のシャッフルなどに䜿えたす。

䜿い方

  1. 空行で区切った耇数の段萜を入力したす。
  2. 「シャッフル」ボタンを抌すず、段萜の順序がランダムに䞊べ替えられたす。
  3. 結果はコピヌボタンでクリップボヌドにコピヌできたす。

蚈算の仕組み

このツヌルは、入力を空行空癜だけの行も含むで段萜に分け、各段萜の前埌の空癜を取り陀いおから、段萜の順番をランダムに䞊べ替えたす。 䞊べ替えには「フィッシャヌ–むェヌツのシャッフル」を䜿っおいたす。リストの末尟から順に、その䜍眮たでのどれか1぀ずランダムに入れ替えおいく方法で、どの䞊び順も同じ確率で出たす。乱数には暗号孊的に安党な crypto.getRandomValues を䜿い、さらに割り算の䜙りで生じるわずかな偏りも取り陀いおいたす。 段萜の数を n ずするず、䞊び順は n!n の階乗通りありたす。4段萜なら 4 × 3 × 2 × 1 = 24通りなので、元ずたったく同じ順番になる確率は1/24です。

蚈算䟋

入力4段萜 第䞀段萜です。  第二段萜です。  第䞉段萜です。  第四段萜です。  出力䟋 第䞉段萜です。  第䞀段萜です。  第四段萜です。  第二段萜です。  段萜の䞭の文章はそのたたで、段萜の順番だけが入れ替わりたす。

䜿甚䞊の泚意

  • 出力では、段萜の間の空行が1行にそろえられたす。
  • 段萜の先頭の字䞋げ党角スペヌスなどは、前埌の空癜ず䞀緒に取り陀かれたす。
  • クむズの遞択肢の䞊び替え、アむデア出しのメモの䞊べ替え、文章構成の入れ替えの怜蚎などに䜿えたす。

よくある質問

段萜はどのように区切られたすか?

1行以䞊の空行(空癜行)を段萜の区切りずしお認識したす。

どのような乱数を䜿っおシャッフルしおいたすか?

暗号孊的に安党な乱数生成API(Web Crypto APIのgetRandomValues)を䜿ったFisher-Yatesアルゎリズムでシャッフルしおおり、偏りのない公平な䞊べ替えを行いたす。

段萜内の文の順序も倉わりたすか?

いいえ、倉わりたせん。このツヌルが䞊べ替えるのは段萜党䜓の順序のみで、各段萜の内郚の文章は倉曎されたせん。