*

気になったので100万回の乱数を発生させてみた

公開日: : 最終更新日:2015/06/20 JavaScript


LINE facebook twitter URLコピー
B! pocket Evernote 楽天


気になったので100万回乱数発生させてみた

ドットインストールのJavaScript講座が刷新

プログラミング教育動画のドットインストール。多くの学習動画があり、プログラミング学習界では代名詞となっています。

そのドットインストールのJavaScriptでおみくじを作る講座が、モダンなデザインにリフレッシュされました。

>>#05 乱数を表示させてみよう | JavaScriptでおみくじを作ろう – プログラミングならドットインストール

その中で、上記の単元で、大吉や中吉などのランダムな数字の発生で、以下のようにしていました。

var result = Math.floor(Math.random() * 4);

Math.random()で発生させた0~1までの乱数を4倍して、Math.floor()で小数点以下を切り捨てると、結果として0~3までの4つの乱数が発生する、というものです。

いわゆる常套句のようなもので、さまざまな記事で乱数発生の定番の記述して使われています。

ふと気になってEXCELで確認してみた

切り捨てっていうけれど、ほんとにどんな場合でも、同じ確率で発生することになっているのかな?と疑問に思い、EXCELで100万回発生させて集計してみました。

エクセルで、A1~C1まで以下のように書き、100万セルにオートフィルしてみました。

=RAND()
=A1*3
=ROUNDDOWN(B1,0) //切り捨て

算出された0~2をカウントイフで集計してみる。こういう力技をやるときは、やっぱりEXCELです。Googleスプレッドシートではさすがに難しいので、やっぱりオフィス導入は不可避なんですよねえ、わたしには。

=COUNTIF(C$1:C$1000000,D1)

乱数を10パターンにしてみた

多いときでこれだけの差が出た

乱数を0~10の10パターンに増やしてみると、さすがに若干のバラ付きがでました。多いときで、発生に0.12%の差がでました。とはいえ、まあ許容範囲かとは思います。

乱数発生まとめ

エクセルでもJavaScriptでも乱数を発生させるときに、リロードごとにちゃんと変わっているようで、あらためて感動しました。ほんとに昔は発生させるごとに、乱数テーブルを都度都度シャッフルしないとダメだったんですよね。ほんと頭が老兵すぎましたw。

あと、ほんとはJavaScriptで100万回、同じようにやって集計しないとダメですよね。とはいえ、EXCELでも確認できたので良かったです。

JavaScriptのMath.floor() で小数点以下切り捨てでの、乱数発生は十分実用なのだと改めて実感しました。

ドットインストールの刷新されたJavaScript講座、ほんと良いですよ。

>>JavaScriptでおみくじを作ろう (全6回) – プログラミングならドットインストール

WebStorageあたりも構成がうまくて好きです。見たこと無い方はぜひ。

>>Web Storage入門 (全8回) – プログラミングならドットインストール

ダメだったらとっくにトピック上がってますよねw。今回ちょっと気になったので調べてみた、というエントリーでした。以上!

あわせてJavaScript関連のこちらのエントリーなども参考になります。

>>JSファイル全体を括るfunctionについての話。(JavaScriptおれおれAdvent Calendar 2014 – 01日目) | Ginpen.com

>>モダンJavaScript環境構築一歩目

>>最近の行儀のよい JavaScript の書き方 – Qiita

さて話はかわりますが、JavaScriptの本を物色していましたら、カヤックのなかの人が書いたこちら、かなりモダンな感じで良かったのでオススメです。なかなか無いんですよね。


HTML5デザイン 仕事のネタ帳 CSS3+JavaScript+CSSフレームワークと活用するプロのテクニック: 秋元 良平, 大藤 幹, 比留間 和也, 藤澤 伸, 小原 暢, 北川 貴清, 栗本 光, 佐藤 とも子・サチコ(螺旋デザイン), 張 臻, 中農 稔, ハヤシ ユタカ, MdN編集部: 本

「モダンなJavaScriptをゆっくり学びたいな。」
  • このエントリーをはてなブックマークに追加
  • Pocket

Profile



Yoshihiko Yoshida
メディア運営業界23年目。Googleアナリティクス公式コミュニティ・アンサリスト最高ランク「レジェンド」国内初獲得。「マツコの知らない世界」Googleマップ案内人TV出演。Googleストリートビュー認定フォトグラファー。教育システム情報学会会員。元立教大学非常勤講師。主な著書「Googleアナリティクス基礎講座」(技術評論社)。趣味はデジカメとゲームとパン作り。>>もっと読む

Instagram

◆代表者略歴 ◆受賞歴
◆おもな著書 ◆TV出演歴
◆新聞掲載歴 ◆雑誌/連載歴
 <<お問い合わせはこちら>>

Facebook

このブログをRSS購読しよう!(無料)

follow us in feedly

よろしければ「いいね」して下さい!

 
PAGE TOP ↑