白衣性愛情依存症

2015年4月29日水曜日

モンテカルロ法で円周率を求める【C++】

C++でモンテカルロ法を使って円周率を求めてみました。モンテカルロ法に関してはこちらのページを参考にさせていただきました。ありがとうございます。
PythonとCでモンテカルロ法を用いて円周率を求めてみた | たくのこ Web


環境

 メルセンヌ・ツイスタの乱数生成器と実数の指定した範囲で一様分布させる標準ライブラリを使いました。
打ち込んだ点の個数は1億個です。

コンパイラはclang 3.5、標準ライブラリの実装はlibc++を使いました。
PCのスペックはCPU: i5-3340M、RAM: 4GBです。

結果

結果はこんな感じです。Cのrand()を使うよりも遅いですが、3.1415までは合ってますね。もっと正確な値はこちらにのってます。
ソースは下に貼っておきます。面倒だったので全部main()に詰め込んで書きました()。
毎回乱数のシードを変える場合は、mtなんちゃらの行をコメントアウトされている文で置き換えて下さい。

$ clnag++ calculate_pi.cpp -std=c++14 -stdlib=libc++ -o pi_cpp
$ time ./pi_cpp
3.14151
./pi_cpp 8.78s user 0.00s system 99% cpu 8.784 total



2015年4月28日火曜日

ELECOM パソコン切替器 キーボード・マウス用がメチャクチャ便利

私はデスクトップPCとノートPCを使っています。
デスクトップは主に録画、データの保管そしてゲームをするために使っています。
ノートPCにはUbuntuを入れて、プログラムを書くのに使っています。

キーボードはRealforceの一番安いやつを使っていて、今まではデスクトップにつないでいました。マウスも同じような感じです。
そのため、ノートPCで使おうとするといちいち差し替える必要があり面倒でした。

ノートPCとデスクトップPC用に1組づつキーボートとマウスを用意することも考えましたが、机が狭くなるのでやめました。

そこで見つけたのが「ELECOM パソコン切替器 キーボード・マウス用」です。
細かい説明はリンク先で見て下さい。

手元のスイッチで接続先をデスクトップかノートに切り替えられます。
切り替えには2秒くらいかかります。ほとんど気にならないレベルです。
これのおかげで本当に快適になりました。
接続先切り替えスイッチ


キーボードとマウスを接続