エントリーの編集
![loading...](https://b.st-hatena.com/bdefb8944296a0957e54cebcfefc25c4dcff9f5f/images/v4/public/common/loading@2x.gif)
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
![アプリのスクリーンショット](https://b.st-hatena.com/bdefb8944296a0957e54cebcfefc25c4dcff9f5f/images/v4/public/entry/app-screenshot.png)
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
ランダム集合とランダム順列
たとえば、1からnまでの整数を、 m 個ランダムに選ぶ(集合として選ぶので順番は問わない)にはどうすれ... たとえば、1からnまでの整数を、 m 個ランダムに選ぶ(集合として選ぶので順番は問わない)にはどうすればいいか。 無作為抽出に使えるこの問にはいろいろな解法がある。 乱数発生の回数が m 回で抑えられるスマートな方法が、 J.L.ベントリーの「プログラマのうちあけ話」 に出ている。 awk で書かれたサンプルの一部を掲げる。 for (j = n-m+1; j <= n; j++) { t = 1 + int(j * rand()) if (t in s) s[j] = 1 else s[t] = 1 } for (i in s) print i これを Javascript 用に書き直した。n > m > 0 で、n, m はどちらも整数である。 書き直すといっても、ほとんど同じだ。ここで、配列sは、連想配列のような使い方をしている。 上の問題で、 順番も含めて m 個ランダムに並べる場