以下のコードは0.0を出力します。これはオーバーフローのせいですか?それを回避する方法は?そうでない場合、なぜですか?
p ((1..100000).map {rand}).reduce :*
私はこのコードをスピードアップしたいと思っていました:
p r.reduce(0) {|m, v| m + (Math.log10 v)}
代わりにこれを使用してください:
p Math.log10 (r.reduce :*)
しかし、どうやらこれは常に可能であるとは限りません...