#!/usr/koeki/bin/ruby #coding: euc-jp def func (x) return Math::sqrt(9 - x * x) end def simpson(x1,x2) n = 100.0 d = (x2 - x1) / n x = x1 s = 0 odd = 0 even = 0 1.upto((n - 1) * 2) do |i| x += d if i % 2 == 0 odd += func(x) else even += func(x) end end int = d * (func(x1) + func(x2) + 4 * (odd + func(x2 - d)) + 2 * even) / 3 end print "x=a_1: " a1 = gets.chomp.to_i print "x=a_2: " a2 = gets.chomp.to_i puts "(#{a1}, #{a2}): #{simpson(a1,a2)}"