# Rational, complex and mathn

Complex(1,2).numerator e\$B\$,%(%i!<\$K\$J\$j\$^\$9!#e(Brational e\$B\$rFI\$s\$G\$\$\$k\$H%(%i!<e(B
e\$B\$K\$J\$j\$^\$;\$s!#e(B

e\$B:#\$4\$m5\$\$,\$D\$\$\$?\$N\$G\$9\$,!"e(BInteger#{numerator,denominator}
e\$B\$@\$1\$8\$c\$J\$\$\$G\$9\$M!#e(B
Float#{numerator,denominator} e\$B\$bI,MW\$G\$9!#e(B

\$ ruby19 -r rational -r complex -e ‘Complex(1.0,2.0).numerator’
/usr/local/ruby19/lib/ruby/1.9.0/complex.rb:354:in `denominator': undefined method`denominator’ for 1.0:Float (NoMethodError)
from /usr/local/ruby19/lib/ruby/1.9.0/complex.rb:361:in
`numerator' from -e:1:in`

e\$B\$7\$+\$b!"e(BFloat#{numerator,denominator}
e\$B\$J\$s\$F2?=h\$K\$bDj5A\$5\$l\$F\$J\$\$\$N\$G!“e(B
rational e\$B\$rFI\$s\$G\$b4X78\$”\$j\$^\$;\$s!#e(B

e\$BAGD>\$KD>\$=\$&\$H\$9\$k\$H!"7k6Ie(B Float#to_r
e\$B\$rDj5A\$9\$k\$3\$H\$K\$J\$k\$s\$8\$c\$J\$\$\$+e(B
e\$B\$H;W\$\$\$^\$9!#\$7\$+\$7!"J#AG?t\$Ne(B numeratore\$B!"e(Bdenominator
e\$B\$r<h\$k\$H\$\$\$&\$N\$,\$he(B
e\$B\$/\$o\$+\$i\$J\$/\$F!"e(BCommon Lisp
e\$B\$9\$7!”@PDM\$5\$s\$K!"0U?^\$rJ9\$\$\$?\$[\$&\$,\$\$\$\$\$G\$9\$M!#e(B

e\$B\$H\$\$\$&J,Jl\$r@0?t\$G\$=\$m\$(\$?7A<0\$KJQ49\$7\$?\$\$\$H\$-\$K;H\$&\$b\$N\$@\$H;W\$\$\$^e(B
e\$B\$9e(B. e\$BCf3X\$H\$+9b9;\$N;~\$K\$O\$=\$&\$d\$C\$FJ,Jl\$r\$=\$m\$(\$F\$\$\$^\$7\$?\$h\$Me(B(^^; e\$B7W;;e(B
e\$BCf\$K\$O;H\$&\$3\$H\$O\$J\$\$\$H;W\$\$\$^\$9\$,e(B,e\$BI=<(\$9\$k\$H\$-\$K\$O;H\$&\$+\$be(B.

e\$B\$J\$k\$[\$I!#\$=\$&\$\$\$&\$3\$H\$G\$9\$+!#e(B

e\$B\$J\$/\$7\$F\$bNI\$\$\$G\$9\$,e(B, 2e\$BCM\$r%Z%"\$GJV\$9%a%=%C%I\$KJQ\$(\$?J}\$,NI\$\$5\$\$,\$7\$Fe(B
e\$B\$-\$^\$7\$?e(B. Complex#normal_rational_form e\$B\$H\$+e(B.

e\$B\$\$\$E\$l\$K\$7\$F\$bIbF0>.?tE@?t\$b4^\$aM-M}?t\$H\$7\$Fe(B
numeratore\$B!“e(Bdenominator e\$B\$,e(B
e\$BI,MW\$J\$o\$1\$G\$9\$h\$M!#K\Mh0U?^\$5\$l\$?\$D\$+\$\$\$+\$?\$G\$J\$\$\$+\$b\$7\$l\$J\$\$\$1\$I!”\$Je(B
e\$B\$\$\$HGKC>\$7\$F\$7\$^\$&\$N\$G!#e(B

nurat 0.0.2 e\$B\$r=P\$7\$^\$7\$?e(B (e\$B\$D\$\$\$G\$Ke(B nucomp e\$B\$be(B)e\$B!#e(B

e\$B0l1~!"%3!<%I\$N@bL@\$r4JC1\$K\$7\$^\$9!#e(B

e\$B2<@A\$1\$N%a%=%C%I8F\$S\$@\$7\$N\$“\$?\$j\$O!“4X?tHGe(B (e\$B%\$%s%i%\$%s4X?te(B)
e\$B\$H!”%^%/%me(B
e\$BHG\$,\$”\$j\$^\$9e(B
(e\$B4X?t\$N\$[\$&\$b%^%/%m\$r\$D\$+\$C\$F\$k\$o\$1\$G\$9\$,e(B)e\$B!#%^%/%mHG\$,M-e(B
e\$B8z\$K\$J\$C\$F\$\$\$^\$9!#%^%/%m\$N\$[\$&\$K\$O\$\$\$/\$i\$+C;Mm\$N\$?\$a\$N%3!<%I\$,F~\$C\$F\$\$e(B
e\$B\$^\$9\$,!“e(Bgcc e\$B\$N3HD%5!G=\$r\$D\$+\$C\$F\$\$\$k\$N\$G!“e(Bgcc
e\$B0J30\$G\$O0UL#\$,\$”\$j\$^\$;\$s!#e(B
e\$B%^%/%mHG\$G\$\$+\$7\$/!“4X?tHG\$G@5\$7\$\$>l9g\$O!”\$\$=\$i\$/<jF0:GE,2=%P%0\$G\$9!#e(B
e\$B:G=E\$K\$O!”\$3\$N\$"\$?\$j\$O@0M}\$7\$J\$1\$l\$P\$J\$i\$J\$\$\$H\$3\$m\$G\$9!#e(B

e\$B86\$5\$s\$Ne(B gcd
e\$B\$r;29M\$K;n\$7\$?\$j!"\$\$\$m\$\$\$m\$H9);vCf\$N\$H\$3\$m\$,;D\$C\$F\$\$\$FFIe(B
e\$B\$\$E\$i\$\$\$H;W\$\$\$^\$9!#\$9\$\$^\$;\$s\$,2fK}\$7\$F\$/\$@\$5\$\$!#e(B

e\$B%F%9%H\$O\$3\$3\$KCV\$\$\$F\$*\$-\$^\$9!#e(B

http://www.funaba.org/archive/nurat-test.tar.gz

nurat e\$BC1BN!"e(Bnurat + complexe\$B!"e(Bnurat + complex +
mathne\$B!"e(Bnurat + nucompe\$B!"e(B
nurat + nucomp + mathn e\$B\$NAH\$_9g\$;\$F%F%9%H\$7\$F\$\$\$^\$9!#e(B1.9
e\$B\$G\$bF0\$/\$H;We(B
e\$B\$\$\$^\$9!#e(B

e\$BB>\$K!"E,Ev\$JAH\$_9g\$;\$G!"NOG\$\$;\$K7W;;\$7\$Fe(B Common Lisp
e\$B\$G\$N7k2L\$HFM\$-9ge(B
e\$B\$;\$k\$3\$H\$b\$7\$F\$\$\$^\$9!#e(B

e\$B\$G\$O!"\$h\$m\$7\$/\$*4j\$\$\$7\$^\$9!#e(B

e\$B86\$G\$9!#e(B

nurat 0.0.2 e\$B\$r=P\$7\$^\$7\$?e(B (e\$B\$D\$\$\$G\$Ke(B nucomp e\$B\$be(B)e\$B!#e(B

e\$B\$\$\$?\$@\$-\$^\$7\$?!#e(B
e\$B\$l\$l!"e(Bnucommon.rb e\$B\$,F1:-\$5\$l\$F\$J\$\$\$_\$?\$\$\$G\$9!#e(B

e\$B\$\$\$?\$@\$-\$^\$7\$?!#e(B
e\$B\$l\$l!"e(Bnucommon.rb e\$B\$,F1:-\$5\$l\$F\$J\$\$\$_\$?\$\$\$G\$9!#e(B

e\$B\$"!<!"\$9\$_\$^\$;\$s!#:#EY\$OBg>fIW\$@\$H;W\$\$\$^\$9!#e(B

MD5 (nurat-0.0.2.tar.gz) = 201a5ef52b622cf55338fddb94688ca5

e\$B;EMM\$r3NG’\$7\$F\$\$\$-\$?\$\$\$H;W\$\$\$^\$9!#e(B

Rational.new!e\$B!"e(BRational.newe\$B!"e(BRational.reducee\$B!"e(BRational()
e\$B\$K\$D\$\$\$Fe(B

Rational.new! 1e\$B\$D\$+e(B2e\$B\$D\$N0z?t\$r<h\$k!#e(B
e\$B0l@Z\$N%A%’%C%/\$J\$7!#e(B
e\$B0z?t\$,@0?t\$G\$J\$\$>l9ge(B to_i e\$B\$5\$l\$k!#e(B
reduce e\$B\$J\$7!"e(Bunify e\$B\$J\$7!#e(B

e\$B@PDM\$5\$s\$N\$Oe(B den
e\$B\$,Ii\$N\$H\$-\$ND4@0\$r\$9\$k\$,!“86\$5\$s\$N\$O\$7\$J\$\$!#e(B
ishi> Rational.new!(1,1.3) #=> Rational(1,1)
hara> Rational.new!(1,1.3) #=> Rational(1,1.3)
e\$B86\$5\$s\$N\$O\$^\$k\$C\$-\$j\$=\$N\$^\$^\$G\$”\$k!#e(B
e\$B86\$5\$s\$N\$OI,\$:0z?t\$,e(B2e\$B\$D\$G\$J\$1\$l\$P\$J\$i\$J\$\$!#e(B

Rational.new e\$B\$O!“e(B1e\$B\$D\$+e(B2e\$B\$D\$N@0?t\$N0z?t\$r<h\$k!#e(B
1e\$B\$DL\$N0z?t\$,e(B Rational e\$B\$Ge(B 2e\$B\$DL\$,e(B 1
e\$B\$N>l9g\$r5v\$9!#e(B
reduce e\$B\$”\$j!“e(Bunify e\$B\$”\$j!#e(B

e\$B86\$5\$s\$N\$O\$I\$A\$i\$N0z?t\$b@0?t\$G\$J\$\$\$H\$J\$i\$J\$\$!#e(B
e\$B86\$5\$s\$N\$Oe(B reduce e\$B\$HF1\$8\$G\$"\$k!#e(B
e\$B@PDM\$5\$s\$N\$K\$Oe(B new e\$B\$OB8:_\$7\$J\$\$!#e(B

Rational.reduce e\$B\$O!“e(B1e\$B\$D\$+e(B2e\$B\$D\$N@0?t\$N0z?t\$r<h\$k!#e(B
reduce e\$B\$”\$j!“e(Bunify e\$B\$”\$j!#e(B

e\$B86\$5\$s\$N\$Oe(B new e\$B\$HF1\$8\$G\$"\$k!#e(B

Rational() e\$B\$O!"e(B1e\$B\$D\$+e(B2e\$B\$D\$N0z?t\$r\$H\$k!#e(B
e\$B\$I\$A\$i\$N0z?t\$b@0?t!"IbF0>.?tE@?t!“M-M}?t!“J8;zNs\$G\$”\$C\$F\$h\$\$!#e(B
reduce e\$B\$”\$j!“e(Bunify e\$B\$”\$j!#e(B

e\$B86\$5\$s\$N\$O!"J8;zNs\$O\$R\$H\$D\$G\$J\$1\$l\$P\$J\$i\$J\$\$!#e(B

new e\$B\$Oe(B reduce e\$B\$HF1\$8\$G\$\$\$\$\$+\$b\$7\$l\$^\$;\$s!#e(B

new e\$B\$Ge(B Rational
e\$B\$r:FF~NO\$G\$-\$k\$N\$O\$\$\$\$\$N\$+\$I\$&\$+!"\$h\$/\$o\$+\$j\$^\$;\$s!#JXe(B
e\$BMx\$G\$"\$k\$+\$b\$7\$l\$J\$\$\$1\$I!"\$=\$&\$\$\$&\$3\$H\$Oe(B Rational()
e\$B\$G=PMh\$k\$7!“e(Bnew e\$B\$Ge(B
e\$B\$O!“CF\$\$\$F\$”\$2\$?\$[\$&\$,?F@Z\$G\$”\$k\$H9M\$(\$k\$3\$H\$b\$G\$-\$^\$9!#e(B

e\$B\$=\$b\$=\$be(B new! e\$B\$He(B reduce e\$B\$OI,MW\$J\$N\$+!#e(B

ruby e\$B\$G=q\$/\$He(B new! e\$B\$N\$h\$&\$J\$b\$N\$,I,MW\$K\$J\$j\$^\$9\$,!“e(BC
e\$B\$G=q\$-D>\$7\$?\$b\$Ne(B
e\$B\$G!“0UL#\$,\$”\$k\$+\$O\$h\$/\$o\$+\$j\$^\$;\$s!#>C\$9\$N\$O\$\$\$D\$G\$b=PMh\$k\$N\$G!”:#\$O;De(B
e\$B\$7\$F\$"\$j\$^\$9!#e(B

reduce e\$B\$N0U5A\$,\$h\$/\$o\$+\$j\$^\$;\$s!#86\$5\$s\$N\$G\$Oe(B new
e\$B\$HF1\$8\$G\$9\$,!"e(Bnew e\$B\$Ne(B
e\$BJLL>\$H9M\$(\$F\$bHyL/\$G\$9!#e(B

e\$B\$I\$&\$7\$F\$b!"e(BRational.new!(*Rational.reduce(n,d)) e\$B\$H\$+e(B
Rational.reduce(Rational.new!(n,d))
e\$B\$N\$h\$&\$J\$b\$N\$rA[A|\$7\$F\$7\$^\$\$\$^\$9!#e(B

new! e\$B\$He(B reduce
e\$B\$O!“7Y9p\$7\$F!”>-MhL58z\$K\$7\$?\$[\$&\$,\$\$\$\$\$+\$b\$7\$l\$^\$;\$s!#e(B

e\$B\$^\$D\$b\$He(B e\$B\$f\$-\$R\$m\$G\$9e(B

In message “Re: [ruby-dev:33812] Re: rational, complex and mathn”
on Sat, 16 Feb 2008 19:46:01 +0900, Tadayoshi F.
[email protected] writes:

|e\$B\$=\$b\$=\$be(B new! e\$B\$He(B reduce e\$B\$OI,MW\$J\$N\$+!#e(B

new!e\$B\$Oe(BRubye\$B\$G<BAu\$7\$F\$\$\$k\$?\$a\$K\$@\$1I,MW\$J\$N\$G!"e(BCe\$B\$G<BAu\$9\$k\$Je(B
e\$B\$iITMW\$G\$7\$g\$&!#e(Breducee\$B\$O\$h\$/\$o\$+\$i\$J\$\$\$N\$G\$9\$,!"e(Bnewe\$B\$HF1\$8F/e(B
e\$B\$-\$r\$9\$k\$J\$i\$P2~\$a\$FI,MW\$J\$b\$N\$G\$O\$J\$\$\$h\$&\$K;W\$(\$^\$9!#e(B

|new! e\$B\$He(B reduce e\$B\$O!“7Y9p\$7\$F!”>-MhL58z\$K\$7\$?\$[\$&\$,\$\$\$\$\$+\$b\$7\$l\$^\$;\$s!#e(B

e\$B;?@.\$7\$^\$9!#\$\$\$C\$=!"0l5\$\$K>C\$7\$F\$b\$h\$\$\$+\$b\$7\$l\$^\$;\$s!#e(B

e\$B@PDMHG\$H\$N0c\$\$e(B

Rational() e\$B\$,\$h\$j=@Fp\$G\$"\$k!#e(B
Rational.new e\$B\$,\$"\$k!#e(B
Rational#inspect e\$B\$N=q<0\$,0c\$&e(B
(e\$B\$^\$"!"\$3\$N\$"\$?\$j\$O\$I\$&\$K\$G\$be(B)e\$B!#e(B

ishi> 2 ** Rational(2) #=> 4.0
nurat> 2 ** Rational(2) #=> (4/1)

ishi> 2 ** Rational(-2) #=> 0.25
nurat> 2 ** Rational(-2) #=> (1/4)

{Float,NilClass,String}#to_r e\$B\$J\$I\$rDs6!\$9\$k!#e(B

e\$BDI2C\$5\$l\$?\$b\$N\$Ge(B quote\$B!"e(Bquotremle\$B!“e(Breciprocal
e\$B\$J\$I\$\$\$/\$D\$+\$b\$N\$Oe(B Numeric
e\$BA4BN\$H\$7\$FDs6!\$9\$Y\$-\$+\$I\$&\$+9M\$(\$k\$Y\$-\$@\$H;W\$&\$N\$G!”>/\$J\$/\$H\$be(BRational
e\$BFH<+\$N\$b\$N\$H\$7\$F\$ODs6!\$9\$k\$3\$H\$O\$J\$\$\$H;W\$\$\$^\$9!#e(B

e\$B86\$G\$9!#e(B

e\$B\$^\$D\$b\$He(B e\$B\$f\$-\$R\$m\$G\$9e(B

|e\$B\$=\$b\$=\$be(B new! e\$B\$He(B reduce e\$B\$OI,MW\$J\$N\$+!#e(B

new!e\$B\$Oe(BRubye\$B\$G<BAu\$7\$F\$\$\$k\$?\$a\$K\$@\$1I,MW\$J\$N\$G!"e(BCe\$B\$G<BAu\$9\$k\$Je(B
e\$B\$iITMW\$G\$7\$g\$&!#e(B

e\$B\$3\$l\$C\$F!"e(BUnify e\$B\$,Dj5A\$5\$l\$\$\$k\$H\$-\$O!“e(BRationa.new(1, 1)
e\$B\$,e(B Integer
e\$B\$K\$J\$k\$C\$F\$3\$H\$G\$7\$g\$&\$+e(B(new e\$B\$Oe(B private
e\$B\$@\$1\$Ie(B)e\$B!#\$”\$k\$\$\$Oe(B new e\$B\$rDje(B
e\$B5A\$7\$J\$\$\$H\$+!#e(B

|new! e\$B\$He(B reduce e\$B\$O!“7Y9p\$7\$F!”>-MhL58z\$K\$7\$?\$[\$&\$,\$\$\$\$\$+\$b\$7\$l\$^\$;\$s!#e(B

e\$B;?@.\$7\$^\$9!#\$\$\$C\$=!"0l5\$\$K>C\$7\$F\$b\$h\$\$\$+\$b\$7\$l\$^\$;\$s!#e(B

e\$B;d\$Oe(B Rational.new e\$B\$rI|3h\$5\$;\$F!"e(B

Rational.new e\$B\$Oe(B Rational() e\$B\$He(B Unify
e\$B\$,Dj5A\$5\$l\$F\$\$\$J\$\$8B\$jF1\$8!#e(B
Rational.new e\$B\$Oe(B Unify e\$B\$N1F6A\$r<u\$1\$J\$\$!#e(B
new!, reduce e\$B\$OGQ;_!#e(B

e\$B\$G\$I\$&\$+\$H;W\$&\$N\$G\$9\$,!#\$G!"%9%`!<%:\$Ke(B mathn.rb e\$B\$r;H\$\$\$?\$\$?M\$O!"%We(B e\$B%m%0%i%`\$Ge(B Rational.new e\$B\$r;H\$o\$:e(B Rational()
e\$B\$r;H\$&\$h\$&\$KJ8=q\$GB%\$9e(B
e\$B\$3\$H\$K\$7\$?\$i\$I\$&\$+\$H!#\$=\$&\$9\$k\$H0U?^\$7\$Fe(B Rational.new
e\$B\$r;H\$&?M\$b\$Ge(B
e\$B\$F\$-\$F!"\$=\$l\$O\$=\$l\$Ge(B OK e\$B\$+\$H!#e(B

e\$B86\$G\$9!#e(B

new!e\$B\$Oe(BRubye\$B\$G<BAu\$7\$F\$\$\$k\$?\$a\$K\$@\$1I,MW\$J\$N\$G!"e(BCe\$B\$G<BAu\$9\$k\$Je(B
e\$B\$iITMW\$G\$7\$g\$&!#e(B
e\$B\$3\$l\$C\$F!"e(BUnify e\$B\$,Dj5A\$5\$l\$\$\$k\$H\$-\$O!“e(BRationa.new(1, 1) e\$B\$,e(B Integer
e\$B\$K\$J\$k\$C\$F\$3\$H\$G\$7\$g\$&\$+e(B(new e\$B\$Oe(B private e\$B\$@\$1\$Ie(B)e\$B!#\$”\$k\$\$\$Oe(B new e\$B\$rDje(B
e\$B5A\$7\$J\$\$\$H\$+!#e(B

e\$B\$A\$g\$C\$H0UL#\$,2r\$i\$J\$+\$C\$?\$G\$9!#86\$5\$s\$N\$G\$b\$=\$&\$J\$C\$F\$\$\$k\$H;W\$\$\$^\$9\$1e(B
e\$B\$I!#e(B

e\$B\$=\$&\$G\$7\$?\$M!#e(B

e\$B:#\$^\$G\$Ne(B rational.rb e\$B\$N0U?^\$r3NG’\$9\$k\$H!De(B

Rational::Unify e\$B\$,Dj5A\$5\$l\$F\$\$\$k\$H\$-\$O!“e(BRational.new(1,1)
e\$B\$Ge(B Integer
e\$B\$rJV\$5\$;\$?\$\$\$N\$@\$,!”%9%/%j%W%H%l%Y%k\$G\$O\$=\$l\$O\$G\$-\$J\$\$!#\$=\$3\$G!"e(Bnew
e\$B\$r6X;\$7!"4X?te(B Rational() e\$B\$r;H\$o\$;\$k!#\$=\$7\$F!"4X?t\$rMQ\$\$\$?e(B
Rational(1, 1) e\$B\$G\$O!"e(B Unify e\$B\$,Dj5A\$5\$l\$k\$H\$-\$O!"e(BRational
e\$B\$G\$J\$/e(B
Integer e\$B\$Ne(B 1 e\$B\$,JV\$k\$h\$&\$K\$9\$k!#\$3\$l\$N;EAH\$
\$Ge(B mathn.rb
e\$B\$,%9%`!<%:\$Ke(B
e\$B5!G=\$9\$k!#e(B

e\$B\$H\$\$\$&;v\$G\$9\$h\$M!#e(B

e\$B\$=\$7\$F!"e(BC e\$B%l%Y%k\$G=q\$1\$P!“e(BRational.new(1, 1) e\$B\$Ge(B
Integer e\$B\$rJV\$9\$3\$H\$,\$Ge(B
e\$B\$-\$k\$N\$=\$&\$5\$;\$k2DG=@-\$,=P\$F\$-\$?!”\$H\$\$\$&\$3\$H\$G\$9\$M!)e(B

Rational.new e\$B\$Oe(B Rational() e\$B\$He(B Unify e\$B\$,Dj5A\$5\$l\$F\$\$\$J\$\$8B\$jF1\$8!#e(B
Rational.new e\$B\$Oe(B Unify e\$B\$N1F6A\$r<u\$1\$J\$\$!#e(B
new!, reduce e\$B\$OGQ;_!#e(B

Rational.new e\$B\$,e(B Unify e\$B\$N1F6A\$r<u\$1\$J\$\$!"\$H\$\$\$&\$N\$O!"\$O\$C\$-\$j\$HH?BP\$7\$?e(B
e\$B\$\$\$G\$9!#MxMQ<T\$,e(B mathn e\$B\$G!"\$=\$&\$\$\$&4D6-\$rA*\$V\$3\$H\$O\$G\$-\$F\$b!“MxMQ<T\$,e(B
e\$B\$9!#e(B

Rational e\$B\$rFbIt\$G;H\$&%i%\$%V%i%j\$G!“e(Bmathn.rb e\$B\$re(B include
e\$B\$9\$k\$H!“Ez\$(\$Oe(B
e\$B@5\$7\$\$\$,!”=hM}B.EY\$,\$+\$J\$jCY\$/\$J\$k\$b\$N\$,\$”\$j\$^\$9!#\$=\$3\$3\$G!"e(BUnify
e\$B\$N1Fe(B
e\$B6A\$r<u\$1\$J\$\$M-M}?t\$N@8@.\$,M_\$7\$\$\$H;W\$C\$?\$N\$G\$9!#e(B

e\$B\$,!"\$A\$g\$C\$H9M\$(\$,B-\$j\$^\$;\$s\$G\$7\$?!#e(Bnew
e\$B\$@\$1\$,1F6A\$r<u\$1\$J\$/\$F\$b!"B>\$Ne(B
e\$B1i;;\$N7k2L\$O1F6A\$r<u\$1\$^\$9\$+\$i!#e(B

e\$B\$7\$+\$7!"e(BRational.new(1, 1) e\$B\$N7k2L\$,e(B Rational
e\$B\$G\$J\$/\$F!“e(BInteger e\$B\$K\$J\$ke(B
e\$B\$N\$O5\$;}\$A0-\$\$5\$\$,\$7\$^\$;\$s!)e(Bnew e\$B\$Oe(B private
e\$B\$N\$^\$^\$,\$\$\$\$\$+\$J\$”!#e(B

Rational() e\$B\$O!"e(B1e\$B\$D\$+e(B2e\$B\$D\$N0z?t\$r\$H\$k!#e(B
e\$B\$I\$A\$i\$N0z?t\$b@0?t!"IbF0>.?tE@?t!"M-M}?t!“J8;zNs\$G\$”\$C\$F\$h\$\$!#e(B

e\$B<B:]E*\$K=EMW\$J5!G=\$,e(B Rational()
e\$B\$H\$\$\$&L>A0\$G8GDj\$5\$l\$k\$N\$O%/%i%9\$NDj5Ae(B
e\$B\$H\$7\$F<e\$\$\$H;W\$&\$N\$G!"86\$5\$s\$KJo\$C\$Fe(B Rational.convert
e\$BAjEv\$N\$b\$N\$rMQ0Ue(B
e\$B\$7\$F!"e(BRational()
e\$B\$O\$=\$A\$i\$K4]Ej\$2\$9\$k9=B\$\$K\$7\$h\$&\$+\$H;W\$\$\$^\$9!#e(B

new!e\$B\$Oe(BRubye\$B\$G<BAu\$7\$F\$\$\$k\$?\$a\$K\$@\$1I,MW\$J\$N\$G!"e(BCe\$B\$G<BAu\$9\$k\$Je(B
e\$B\$iITMW\$G\$7\$g\$&!#e(B

e\$B\$3\$l\$C\$F!"e(BUnify e\$B\$,Dj5A\$5\$l\$\$\$k\$H\$-\$O!“e(BRationa.new(1, 1) e\$B\$,e(B Integer
e\$B\$K\$J\$k\$C\$F\$3\$H\$G\$7\$g\$&\$+e(B(new e\$B\$Oe(B private e\$B\$@\$1\$Ie(B)e\$B!#\$”\$k\$\$\$Oe(B new e\$B\$rDje(B
e\$B5A\$7\$J\$\$\$H\$+!#e(B

e\$B\$A\$g\$C\$H0UL#\$,2r\$i\$J\$+\$C\$?\$G\$9!#86\$5\$s\$N\$G\$b\$=\$&\$J\$C\$F\$\$\$k\$H;W\$\$\$^\$9\$1e(B
e\$B\$I!#e(B

e\$B;d\$Oe(B Rational.new e\$B\$rI|3h\$5\$;\$F!"e(B

new e\$B\$,\$"\$k\$N\$O\$\$\$\$\$H;W\$\$\$^\$9!#e(B

Rational.new e\$B\$Oe(B Rational() e\$B\$He(B Unify e\$B\$,Dj5A\$5\$l\$F\$\$\$J\$\$8B\$jF1\$8!#e(B
Rational.new e\$B\$Oe(B Unify e\$B\$N1F6A\$r<u\$1\$J\$\$!#e(B
new!, reduce e\$B\$OGQ;_!#e(B

Rational.new e\$B\$,e(B Unify
e\$B\$N1F6A\$r<u\$1\$J\$\$!"\$H\$\$\$&\$N\$O!"\$O\$C\$-\$j\$HH?BP\$7\$?e(B
e\$B\$\$\$G\$9!#MxMQ<T\$,e(B mathn
e\$B\$G!"\$=\$&\$\$\$&4D6-\$rA*\$V\$3\$H\$O\$G\$-\$F\$b!“MxMQ<T\$,e(B
e\$B\$9!#e(B

e\$B\$b\$7!“e(Brational e\$B\$,AH\$\$3\$\$G\$”\$l\$P!"e(BRational(1,1) e\$B\$Oe(B 1
e\$B\$K\$J\$k\$7!"e(B2/4 e\$B\$Oe(B
Rational(1,2) e\$B\$K\$J\$C\$F\$b\$h\$+\$C\$?\$N\$G\$9!#e(Bmathn
e\$B\$O\$=\$l\$r\$d\$C\$F\$\$\$k\$@\$1\$@e(B
e\$B\$H;W\$\$\$^\$9!#e(BRational(1,1) e\$B\$,e(B 1 e\$B\$K!"e(BComplex(1,0)
e\$B\$,e(B 1 e\$B\$K\$J\$k\$H\$\$\$C\$?\$3e(B
e\$B\$H\$Oe(B Common Lisp e\$B\$Ne(B canonicalization e\$B\$HF1\$8\$G\$9!#e(B

Bignum e\$B\$H\$re(B
e\$B6hJL\$7\$F\$D\$+\$\$J,\$1\$k\$3\$H\$HF1\$8\$/\$i\$\$IT<+A3\$@\$H;W\$\$\$^\$9!#LsJ,\$5\$l\$k\$H\$+!"e(B
e\$B\$=\$&\$\$\$&\$3\$H\$b4^\$a\$F!"5,B’\$K4p\$\$\$F0l4S\$7\$F9T\$J\$o\$l\$k\$Y\$-\$@\$H;W\$\$\$^\$9!#e(B

e\$B\$=\$&\$\$\$&0UL#\$G!“e(Bnew! e\$B\$,\$”\$C\$?\$j!"e(Breduce
e\$B\$H\$\$\$&L>A0\$,I=\$K=P\$F\$/\$k\$N\$OK>e(B
e\$B\$^\$7\$\$\$3\$H\$G\$O\$J\$\$\$N\$G!"GQ;_\$NJ}8~\$K;}\$C\$F9T\$-\$?\$\$\$H\$\$\$&\$3\$H\$@\$H;W\$\$\$^e(B
e\$B\$9!#e(B

e\$B<B:]E*\$K=EMW\$J5!G=\$,e(B Rational() e\$B\$H\$\$\$&L>A0\$G8GDj\$5\$l\$k\$N\$O%/%i%9\$NDj5Ae(B
e\$B\$H\$7\$F<e\$\$\$H;W\$&\$N\$G!"86\$5\$s\$KJo\$C\$Fe(B Rational.convert e\$BAjEv\$N\$b\$N\$rMQ0Ue(B
e\$B\$7\$F!"e(BRational() e\$B\$O\$=\$A\$i\$K4]Ej\$2\$9\$k9=B\$\$K\$7\$h\$&\$+\$H;W\$\$\$^\$9!#e(B

e\$B0J>e\$K2C\$(\$F!"e(Bnew e\$B\$re(B reduce e\$B\$HF1\$8\$K\$7\$F!“e(Bnew
e\$B\$^\$o\$j\$r>/\$7@0M}\$7\$?\$N\$Ge(B
e\$B\$”\$?\$i\$7\$\$\$N\$rCV\$\$\$F\$*\$-\$^\$9!#e(B

http://www.funaba.org/archive/nurat-0.0.3.tar.gz

Rational::Unify e\$B\$,Dj5A\$5\$l\$F\$\$\$k\$H\$-\$O!“e(BRational.new(1,1) e\$B\$Ge(B Integer
e\$B\$rJV\$5\$;\$?\$\$\$N\$@\$,!”%9%/%j%W%H%l%Y%k\$G\$O\$=\$l\$O\$G\$-\$J\$\$!#\$=\$3\$G!"e(Bnew
e\$B\$r6X;\$7!"4X?te(B Rational() e\$B\$r;H\$o\$;\$k!#\$=\$7\$F!"4X?t\$rMQ\$\$\$?e(B
Rational(1, 1) e\$B\$G\$O!"e(B Unify e\$B\$,Dj5A\$5\$l\$k\$H\$-\$O!"e(BRational e\$B\$G\$J\$/e(B
Integer e\$B\$Ne(B 1 e\$B\$,JV\$k\$h\$&\$K\$9\$k!#\$3\$l\$N;EAH\$
\$Ge(B mathn.rb e\$B\$,%9%`!<%:\$Ke(B
e\$B5!G=\$9\$k!#e(B

e\$B86\$5\$s\$OJ#;(\$K9M\$(2a\$.\$F\$k\$N\$G\$O!#KM\$+\$i\$9\$k\$He(B Unify
e\$B\$NB8:_\$He(B new e\$B\$NB8e(B
e\$B:_0U5A\$O4X78\$,\$J\$\$\$G\$9!#\$H\$K\$+\$/e(B Unify
e\$B\$,\$"\$l\$P!"\$\$\$:\$l\$K\$7\$F\$be(B Unify
e\$B\$5\$l\$k\$Y\$-\$G\$7\$g\$&\$7!#e(B

Rational() e\$B\$He(B Rational.new e\$B\$N0c\$\$\$O!"e(BRational()
e\$B\$OJQ494o\$G!"e(B
Rational.new
e\$B\$O4pACE*\$J%3%s%9%H%i%/%?\$H\$\$\$&\$3\$H\$@\$H;W\$\$\$^\$9!#86\$5\$s\$Ne(B
rational
e\$B\$+\$i\$b\$=\$&\$\$\$&0u>]\$r<u\$1\$k\$N\$G!"4pK\E*\$K9M\$(\$F\$\$\$k\$3\$H\$OF1\$8e(B
e\$B\$@\$H;W\$&\$N\$G\$9\$,!#e(B

Rational e\$B\$rFbIt\$G;H\$&%i%\$%V%i%j\$G!“e(Bmathn.rb e\$B\$re(B include e\$B\$9\$k\$H!“Ez\$(\$Oe(B
e\$B@5\$7\$\$\$,!”=hM}B.EY\$,\$+\$J\$jCY\$/\$J\$k\$b\$N\$,\$”\$j\$^\$9!#\$=\$3\$3\$G!"e(BUnify e\$B\$N1Fe(B
e\$B6A\$r<u\$1\$J\$\$M-M}?t\$N@8@.\$,M_\$7\$\$\$H;W\$C\$?\$N\$G\$9!#e(B

e\$B\$7\$+\$7!“e(Bmathn
e\$B\$9\$k\$HL5BL\$JM-M}?t\$rGS=|\$9\$k\$3\$H\$K\$J\$k\$N\$G!”\$"\$k>lLL\$G\$Oe(B
e\$BM-Mx\$K\$J\$j\$^\$9\$h\$M!#AH\$\$3\$\$K\$7\$F!"?tCM7O\$H\$7\$F\$NO"7H\$r6/2=\$7!"%j%F%ie(B
e\$B%k\$rMQ0U\$7\$?\$i!"\$@\$\$\$V0c\$C\$F\$/\$k\$H;W\$\$\$^\$9!#e(B

e\$B\$I\$&\$\$\$&?tCMI=8=\$G\$"\$le(B / e\$B\$He(B div
e\$B\$A\$c\$s\$H\$D\$+\$\$\$o\$1\$k!“E,@Z\$J\$H\$3\$m\$Ge(B
floor
e\$B\$J\$I\$r\$D\$+\$&\$J\$I\$9\$l\$P!”\$"\$^\$jL5BL\$J\$3\$H\$O\$J\$\$\$h\$&\$J5\$\$,\$7\$^\$9!#e(B
e\$B\$3\$N\$?\$a\$K\$be(B div e\$B\$de(B floor
e\$B\$N;EMM\$OB7\$C\$F\$J\$\$\$H\$\$\$1\$J\$\$\$H;W\$\$\$^\$9\$,!#e(B

e\$B\$7\$+\$7!"e(BRational.new(1, 1) e\$B\$N7k2L\$,e(B Rational e\$B\$G\$J\$/\$F!“e(BInteger e\$B\$K\$J\$ke(B
e\$B\$N\$O5\$;}\$A0-\$\$5\$\$,\$7\$^\$;\$s!)e(Bnew e\$B\$Oe(B private e\$B\$N\$^\$^\$,\$\$\$\$\$+\$J\$”!#e(B

e\$B\$=\$N463P\$O\$o\$+\$j\$^\$9\$,!"\$?\$H\$(\$P!"e(BCommon lisp e\$B\$G\$O!"e(B1/1
e\$B\$O%j%F%i%k\$G\$9e(B
e\$B\$,!"e(B1 e\$B\$K\$J\$j\$^\$9!#J#AG?t\$Ne(B #c(1 0) e\$B\$be(B 1
e\$B\$K\$J\$j\$^\$9!#e(Bnew e\$B\$K8GM-\$N2]Bj\$Ge(B
e\$B\$O\$J\$/!“e(BRational() e\$B\$de(B Rational.convert
e\$B\$b!VJQ49!W\$7\$J\$\$\$H\$\$\$1\$J\$\$\$o\$1e(B
e\$B\$G\$9\$+\$i!“e(BInteger
e\$B\$,JV\$k\$N\$OJQ\$G\$”\$k!”\$H\$\$\$(\$k\$+\$b\$7\$l\$^\$;\$s!#e(B

e\$B5U\$K9M\$(\$F!"e(B1 e\$B\$rJX59E*\$Ke(B 1/1 e\$B\$de(B 1/1+0i
e\$B\$HI=8=\$7\$F\$b\$\$\$\$\$N\$@\$H9M\$(\$k\$Ne(B
e\$B\$O\$I\$&\$G\$7\$g\$&!#e(B

In article [email protected],
[email protected] (e\$B@PDM7=<ye(B) writes:

Rationale\$B\$Ke(Bnewe\$B\$,\$J\$\$\$N\$O\$=\$&\$\$\$&OC\$G\$O\$J\$/\$Fe(B, e\$B\$b\$C\$H35G0E*\$JOC\$G\$9e(B.

(Fixnume\$B\$K\$be(B)Bignume\$B\$K\$be(Bnewe\$B\$O\$J\$\$\$N\$HF1\$8\$Ge(B, Rationale\$B\$K\$be(Bnewe\$B\$OI,MW\$J\$\$\$7e(B,
e\$B\$"\$C\$F\$O\$J\$i\$J\$\$\$H9M\$(\$^\$7\$?e(B. e\$B\$D\$^\$je(B, e\$BM-M}?t\$H\$\$\$&\$b\$N\$Oe(B(e\$B35G0E*\$K\$Oe(B)
ObjectSpacee\$BFb\$K>o\$KB8:_\$7\$F\$\$\$ke(B. e\$B\$=\$7\$Fe(B, Rational(a,b)e\$B\$G\$O%*%V%8%'%/%He(B
e\$B\$r@8@.\$7\$F\$\$\$k\$o\$1\$G\$O\$J\$/\$=\$l\$r;2>H\$7\$F\$\$\$k\$H\$\$\$&463P\$G\$9e(B.

e\$B@N!"e(B[ruby-dev:20930]
e\$B\$G?R\$M\$?;~\$K\$O\$=\$&\$\$\$&OC\$G\$O\$J\$+\$C\$?\$h\$&\$Je(B…

e\$B\$1\$\$\$8\$e!w\$\$\$7\$D\$+\$G\$9e(B.

In [ruby-dev :33820 ] the message: "[ruby-dev:33820] Re: rational,
complex and mathn ", on Feb/17 13:00(JST) Shin-ichiro HARA writes:

e\$B\$H\$\$\$&;v\$G\$9\$h\$M!#e(B

e\$B\$"\$N\$%e(B…

Rationale\$B\$Ke(Bnewe\$B\$,\$J\$\$\$N\$O\$=\$&\$\$\$&OC\$G\$O\$J\$/\$Fe(B,
e\$B\$b\$C\$H35G0E*\$JOC\$G\$9e(B.

(Fixnume\$B\$K\$be(B)Bignume\$B\$K\$be(Bnewe\$B\$O\$J\$\$\$N\$HF1\$8\$Ge(B,
Rationale\$B\$K\$be(Bnewe\$B\$OI,MW\$J\$\$\$7e(B,
e\$B\$"\$C\$F\$O\$J\$i\$J\$\$\$H9M\$(\$^\$7\$?e(B. e\$B\$D\$^\$je(B,
e\$BM-M}?t\$H\$\$\$&\$b\$N\$Oe(B(e\$B35G0E*\$K\$Oe(B)
ObjectSpacee\$BFb\$K>o\$KB8:_\$7\$F\$\$\$ke(B. e\$B\$=\$7\$Fe(B,
Rational(a,b)e\$B\$G\$O%*%V%8%’%/%He(B
e\$B\$r@8@.\$7\$F\$\$\$k\$o\$1\$G\$O\$J\$/\$=\$l\$r;2>H\$7\$F\$\$\$k\$H\$\$\$&463P\$G\$9e(B.

e\$B\$=\$l\$h\$+e(B, e\$BM-M}?t%j%F%i%k\$,\$"\$l\$Pe(B,
newe\$B\$,I,MW\$H\$\$\$&5DO@\$b\$J\$/\$J\$k\$s\$G\$7\$ge(B
e\$B\$&\$1\$Ie(B…

e\$B0J2<\$NI=5-\$J\$i2DG=@-\$,\$"\$k\$H;W\$\$\$^\$9\$,e(B?

%R(1 2) #=> Rational(1,2)

%re\$B\$H4V0c\$\$\$d\$9\$\$\$+\$J\$!e(B…
e\$B\$3\$l\$O\$@\$a\$+\$Je(B?

%/(1 2)

e\$B\$=\$s\$J\$3\$H8@\$o\$:\$Ke(B, e\$B\$d\$O\$je(B

1/2

e\$B\$,%j%F%i%k\$K\$J\$C\$F\$b\$i\$(\$l\$Pe(B(^^;

__
---------------------------------------------------->> e\$B@PDMe(B
e\$B7=<ye(B <<—
---------------------------------->> e-mail: [email protected] <<—

e\$B\$^\$D\$b\$He(B e\$B\$f\$-\$R\$m\$G\$9e(B

In message “Re: [ruby-dev:33832] Re: rational, complex and mathn”
on Sun, 17 Feb 2008 21:44:25 +0900, [email protected]
(e\$B@PDM7=<ye(B) writes:

|e\$B\$3\$l\$O\$@\$a\$+\$Je(B?
|
| %/(1 2)
|
|e\$B\$=\$s\$J\$3\$H8@\$o\$:\$Ke(B, e\$B\$d\$O\$je(B
|
| 1/2
|
|e\$B\$,%j%F%i%k\$K\$J\$C\$F\$b\$i\$(\$l\$Pe(B(^^;

e\$BI=5-\$@\$1\$G\$h\$\$\$J\$ie(B

#<1/2>

e\$B\$G\$\$\$\$\$s\$8\$c\$J\$\$\$+\$H;W\$\$\$^\$9!#%j%F%i%k\$K\$7\$?\$\$\$H\$J\$k\$H8_49@-e(B
e\$B\$J\$I\$b4^\$a\$F\$\$\$m\$\$\$m9M\$(\$J\$\$\$H\$\$\$1\$^\$;\$s\$M!#e(B

e\$B\$1\$\$\$8\$e!w\$\$\$7\$D\$+\$G\$9e(B.

In [ruby-dev :33833 ] the message: "[ruby-dev:33833] Re: rational,
complex and mathn ", on Feb/17 21:49(JST) Tanaka A. writes:

(Fixnume\$B\$K\$be(B)Bignume\$B\$K\$be(Bnewe\$B\$O\$J\$\$\$N\$HF1\$8\$Ge(B, Rationale\$B\$K\$be(Bnewe\$B\$OI,MW\$J\$\$\$7e(B,
e\$B\$"\$C\$F\$O\$J\$i\$J\$\$\$H9M\$(\$^\$7\$?e(B. e\$B\$D\$^\$je(B, e\$BM-M}?t\$H\$\$\$&\$b\$N\$Oe(B(e\$B35G0E*\$K\$Oe(B)
ObjectSpacee\$BFb\$K>o\$KB8:_\$7\$F\$\$\$ke(B. e\$B\$=\$7\$Fe(B, Rational(a,b)e\$B\$G\$O%*%V%8%’%/%He(B
e\$B\$r@8@.\$7\$F\$\$\$k\$o\$1\$G\$O\$J\$/\$=\$l\$r;2>H\$7\$F\$\$\$k\$H\$\$\$&463P\$G\$9e(B.

e\$B@N!"e(B[ruby-dev:20930] e\$B\$G?R\$M\$?;~\$K\$O\$=\$&\$\$\$&OC\$G\$O\$J\$+\$C\$?\$h\$&\$Je(B…

e\$B3N\$K\$=\$&\$\$\$C\$F\$\$\$^\$9\$Me(B(^^;
e\$B5;=QE*M}M3\$Oe(B[ruby-dev:20930]e\$B\$NDL\$j\$J\$s\$G\$7\$ge(B
e\$B\$&\$1\$Ie(B, e\$B:#2s\$NM}M3\$,K\Ev\$NM}M3\$@\$C\$?\$H;W\$C\$F\$\$\$^\$9e(B(^^;

e\$B\$^\$"e(B, e\$B\$I\$A\$i\$K\$7\$F\$be(B,
rationale\$B\$O86\$5\$s\$,%a%s%F%J\$K\$J\$k\$N\$Ge(B, e\$B86\$5\$s\$NG<e(B
e\$BF@\$9\$k\$h\$&\$K\$d\$C\$F\$/\$@\$5\$l\$PNI\$\$\$H;W\$\$\$^\$9e(B.

__
---------------------------------------------------->> e\$B@PDMe(B
e\$B7=<ye(B <<—
---------------------------------->> e-mail: [email protected] <<—

e\$B\$b\$&\$“\$^\$j<j\$rF~\$l\$J\$\$\$G\$*\$3\$&\$H;W\$C\$?\$N\$G\$9!”\$D\$\$<j\$rF~\$l\$F\$7\$^\$\$\$^\$7e(B
e\$B\$?!#e(B

e\$B\$b\$&:n6H\$r;O\$a\$i\$l\$?\$H;W\$\$\$^\$9\$7!";29M\$K\$b\$J\$i\$J\$\$\$G\$7\$g\$&\$,!“0l1~\$”\$?e(B
e\$B\$i\$7\$\$\$N\$r=P\$7\$F\$*\$-\$^\$9!#e(B

e\$B:G?7\$N\$b\$N\$O!“\$”\$k<o\$N7W;;\$G\$O!“86\$5\$s\$Ne(B rational 1.19
e\$B\$h\$j\$bB.\$\$\$h\$&e(B
e\$B\$G\$9!#?tCM\$,Bg\$-\$/\$J\$k\$HM-Mx\$_\$?\$\$\$G\$9!#KM<+?H\$K\$h\$k!”\$\$\$/\$D\$+\$N<B:]E*e(B
e\$B\$J1~MQNc\$G\$O!"\$d\$O\$j86\$5\$s\$N\$[\$&\$,>/\$7B.\$\$\$G\$9!#e(B

Rationale\$B\$Ke(Bnewe\$B\$,\$J\$\$\$N\$O\$=\$&\$\$\$&OC\$G\$O\$J\$/\$Fe(B, e\$B\$b\$C\$H35G0E*\$JOC\$G\$9e(B.

(Fixnume\$B\$K\$be(B)Bignume\$B\$K\$be(Bnewe\$B\$O\$J\$\$\$N\$HF1\$8\$Ge(B, Rationale\$B\$K\$be(Bnewe\$B\$OI,MW\$J\$\$\$7e(B,
e\$B\$"\$C\$F\$O\$J\$i\$J\$\$\$H9M\$(\$^\$7\$?e(B. e\$B\$D\$^\$je(B, e\$BM-M}?t\$H\$\$\$&\$b\$N\$Oe(B(e\$B35G0E*\$K\$Oe(B)
ObjectSpacee\$BFb\$K>o\$KB8:_\$7\$F\$\$\$ke(B. e\$B\$=\$7\$Fe(B, Rational(a,b)e\$B\$G\$O%*%V%8%’%/%He(B
e\$B\$r@8@.\$7\$F\$\$\$k\$o\$1\$G\$O\$J\$/\$=\$l\$r;2>H\$7\$F\$\$\$k\$H\$\$\$&463P\$G\$9e(B.

e\$B%7%s%%k\$H\$+\$bF1\$8\$J\$s\$G\$7\$g\$&\$1\$I!#e(B

e\$B\$=\$&\$\$\$&\$3\$H\$@\$H;W\$\$\$^\$7\$?\$,!“e(Bnew
e\$B\$O\$”\$C\$?\$[\$&\$,\$h\$\$\$H;W\$\$\$^\$9!#e(B

Complex.new
e\$B\$,J|CV\$5\$l\$F\$\$\$k\$N\$O!“JL\$N0UL#\$G\$^\$:\$\$\$N\$G!”\$J\$s\$H\$+\$7\$?\$[e(B
e\$B\$&\$,\$\$\$\$\$H;W\$\$\$^\$9!#e(B

e\$B\$=\$l\$h\$+e(B, e\$BM-M}?t%j%F%i%k\$,\$"\$l\$Pe(B, newe\$B\$,I,MW\$H\$\$\$&5DO@\$b\$J\$/\$J\$k\$s\$G\$7\$ge(B
e\$B\$&\$1\$Ie(B…

1/2 e\$B\$,0lHV\$h\$\$\$G\$9\$,!"%?%\$%W\$N\$7\$d\$9\$5\$dJ#AG?t\$N\$3\$H\$b9M\$(\$k\$He(B
1r2e\$B!"e(B
1c2 e\$B\$b<N\$FFq\$\$\$h\$&\$J5\$\$,\$9\$k!#e(B