require 'rational' require 'mathn' require 'bigdecimal' def sh_pi(t2) i = 1 z = Rational(0,1) t2.times do |u| x,y = Rational(1,i),Rational(1,i+2) z += x - y i+=4 end fz,fm = (z*4).to_s.split("/") (BigDecimal(fz)/BigDecimal(fm)).to_s end
逼近法计算pi值
关注
打赏