カメヲラボ

主にプログラミングとお勉強全般について書いてます

PKU2819

log1pデスカ!!!

namasuteさんの日記を見るまでlog1pという存在を知らなかった^^; http://d.hatena.ne.jp/namasute0/20060608#1149731313 log1pという関数は、log(1+x)でxが非常に小さい場合に誤差が大きくなる問題を解決するための関数のようで、log1p(x)とすればlog(1+x…

Javaって素敵やん?

私は数値計算に関しての理解が浅いので、困ったときはとりあえずJava頼みだ。(1.0-1.0/n)^(n-2)をマクローリン展開で計算することで、なんとかAcceptされた。 なんともショボいコードだが、とりあえず晒しとこう。

高精度で計算するには・・・

ヤバイ。苦手分野かも。 問題は、入力nに対して exp( (n-2.0) * log(1.0-1.0/n) )を計算するだけの問題だが、小数点以下は14桁まで計算しないといけないのでmath.hのexp関数等を使うと精度が足りない。Discussの部分を見る限り、n=100000000の時に0.36787944…