#!/usr/koeki/bin/ruby # -*- coding: euc-jp -*- # 半径 1 の円に内接する多角形と外接する多角形を求める。 include Math require 'bigdecimal' n = 10 ** 15 i = 3 print "Ruby で使う定数 PI の値 #{PI}\n" while i < n #円に内接する n 角形の辺を合計したもの半分が PI inner = sin(PI/i) * i #円に外接する n 角形の辺を合計したもの半分が PI outer = tan(PI/i) * i i += 1 if outer - inner < 1.0 / n break end end printf("#{i}: #{inner} < PI < #{outer} \n")