#!/usr/bin/ruby

#
## https://rosettacode.org/wiki/Gamma_function
#

define e  = Number.e;
define pi = Number.pi;
 
func Γ(t) {
    t < 20 ? (__FUNC__(t + 1) / t)
           : (sqrt(2*pi*t) * pow(t/e + 1/(12*e*t), t) / t);
}
 
(1..10).each { |i|
    say ("%.14e" % Γ(i/3));
};
