in reply to
Re: Determining if a rational number terminates
in thread Determining if a rational number terminates
There are probably shorter ways of doing it, but...
# It is important to clearly comment your code to make it easier
# for future maintainers.
#
# This is the numerator, denominator pair for which we wish to
# determine if the decimal expansion terminates.
#
@ARGV = (33, 660);
# Check if it terminates and print "Y" or "N".
#
sub _{@i=sort{$b-$a}@_;return$i[1]if$i[0]==$i[1];@i=($i[1],$i[0]%$i
[1])while$i[1];$i[0]};sub __{$j=_@_;$_/=$j for@_;$_[1]<0and do{$_*=
-1for@_}}__(($k,$l)=@ARGV);$l/=2until$l%2;print$l=~/(5|^1)$/?Y:N,$/
perl -E'sub Monkey::do{say$_,for@_,do{($monkey=[caller(0)]->[3])=~s{::}{ }and$monkey}}"Monkey say"->Monkey::do'