私は次のような「腐敗」パズルを解こうとしています。
与えられたAはDateTime.new(2012,5,10,0,0,0)で100であり、12秒ごとに0.5ずつ減衰し、DateTime.new(2012,5,10,0,8、 0)?
その質問への答えは-まあ、本当です:)
しかし、どうですか
- 1304.5673であり、
- 1.2ミリ秒ごとの減衰0.00000197
- 終了時刻は1つではなく、2000DateTime.newです。
私はで試しました
fd=3.minutes.ago.to_datetime
td=Time.now
material=1304.5673
decay=0.00000197
step=0.00012.seconds
fd.step(td,step){ |n| material-=decay }
puts material
処理時間は許容範囲内ですが、さらに時間を遡ると(おそらく、10時間または2時間など、Mac全体を軌道に乗せようとしていたようにCPUクーラーが勢いを増し始めます:(