写経して書いてみたけどこんなもんか。式を理解してないのがあぶない。でも昔の人は「式がわからないならライブラリを使えばいいじゃない。ライブラリがないならコピペすればいいじゃない」っていったんだぜ
とりあえずこれで、最小ダメージ・最大ダメージどちらをあげたほうが期待ダメージがあがるかはハッキリわかるようになった。ずっと気になってたからスッキリ。
なんかコードにするとたいしたことしてなくてもオレッテバスゲー感でるよなぁ。これとか式まんま写してコードにしているだけなわけだし、全く構造化されていないうんこなコードだしでどうしよもないけど、なんかやった感はある。ダメですね。ちゃんとまとめよう。
Ruby で書こうと思ったんだけど、JS のほうがあとで適当にまとめるとき便利ではやいかなぁと思いなおして JS にした。でも Spidermonkey が入ってなかったら Ruby で書いたかもなぁ。
あああ これじゃダメだw まるめこみしてないじゃん
なおした。あと klm 先生からアドバイスをもらったのでもっと効率いい方法をためしてる
klm 先生のアドバイスをうけて分布関数使うようにしてみた。なるほどなぁ。コード短くなったし余計な計算しなくなって高速になった。
あ、分布関数を勘違いしてた…… これって -∞ からある値までの累積ってことか……
うえのが動いていたように見えたのは違う関数を実行していたからという……
累積分布関数だけだと、最小・最大以外の部分についての積分値 (確率に実際の値をかけた値累積) は求められないよね……
というか積分アルゴリズムとか使わんでもシグマで十分だ?