Groovyで東海大地震がこの1年で起こる確率を計算する
ツッコミが多々入ってますな。
この方法で計算する
println ( 1-((100-87)/100)^(1/30) )*100 >|| Caught: java.lang.UnsupportedOperationException: Cannot use xor() on this number type: java.math.BigDecimal with value: 0.87
あー、べき乗はMath.pow()か
println (1-Math.pow((100-87)/100,1/30))*100
0.06574640337939952 Caught: java.lang.NullPointerException: Cannot invoke method multiply() on null object
( ̄ー ̄?).....??ありゃ??
×100がだめ?
println 1-Math.pow((1-0.87),1/30)
0.06574640337939952
できた。
自然対数を使って計算する
println 1- Math.exp(Math.log(1-0.87)/30)
0.0657464034429357
精度が違うな。
まぁ、約6.57%ということで。