mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
6125552c27
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15783 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
49 lines
607 B
Ruby
49 lines
607 B
Ruby
class Fixnum
|
|
|
|
alias quof fdiv
|
|
|
|
alias power! **
|
|
alias rpower **
|
|
|
|
end
|
|
|
|
class Bignum
|
|
|
|
alias quof fdiv
|
|
|
|
alias power! **
|
|
alias rpower **
|
|
|
|
end
|
|
|
|
class Integer
|
|
|
|
def gcd(other)
|
|
min = self.abs
|
|
max = other.abs
|
|
while min > 0
|
|
tmp = min
|
|
min = max % min
|
|
max = tmp
|
|
end
|
|
max
|
|
end
|
|
|
|
def lcm(other)
|
|
if self.zero? or other.zero?
|
|
0
|
|
else
|
|
(self.div(self.gcd(other)) * other).abs
|
|
end
|
|
end
|
|
|
|
def gcdlcm(other)
|
|
gcd = self.gcd(other)
|
|
if self.zero? or other.zero?
|
|
[gcd, 0]
|
|
else
|
|
[gcd, (self.div(gcd) * other).abs]
|
|
end
|
|
end
|
|
|
|
end
|