エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
珠玉のプログラミングの輪講をしており,乱数を使ったプログラムのベンチマークをRubyでとる時(単に呼び... 珠玉のプログラミングの輪講をしており,乱数を使ったプログラムのベンチマークをRubyでとる時(単に呼び出して実行速度の平均をとるだけ)に遭遇したのでメモ. 乱数の初期化にはseedとしてtime関数による秒数をあたえることが多い. #include <time.h> ... srand((unsinged)time(NULL)); しかしtimeで取得しているのは秒数なので,そのプログラムが1秒よりも短い時間で終了し,かつ複数回実行させる場合(今回はベンチマークをとる時)では同じseedを渡していることになり,同じ乱数列が取得されてしまう. そこでもっと短い値を得るためにgettimeofday()関数を用いる. #include <sys/time.h> ... struct timeval tv; gettimeofday(&tv, NULL); srand(tv.tv_sec + t