ライブラリ
- ビルトイン (188)
- bigdecimal (48)
- openssl (12)
- prime (72)
- set (18)
クラス
- BigDecimal (48)
- Bignum (12)
- Complex (12)
- Fixnum (12)
- Float (12)
- Integer (62)
- Numeric (72)
-
OpenSSL
:: BN (12) - Prime (24)
-
Prime
:: TrialDivisionGenerator (36) - Rational (12)
- Set (24)
キーワード
- % (12)
-
/ (29) - ceildiv (3)
- divide (24)
- divmod (42)
- fdiv (54)
-
int
_ from _ prime _ division (12) - modulo (12)
- next (12)
-
prime
_ division (24) -
prime
_ fasttest? (12) - quo (24)
- rewind (12)
- succ (12)
検索結果
先頭5件
-
Float
# divmod(other) -> [Numeric] (9207.0) -
self を other で割った商 q と余り r を、 [q, r] という 2 要素の配列にして返します。 商 q は常に整数ですが、余り r は整数であるとは限りません。
...other で割った商 q と余り r を、
[q, r] という 2 要素の配列にして返します。
商 q は常に整数ですが、余り r は整数であるとは限りません。
ここで、商 q と余り r は、
* self == other * q + r
と
* other > 0 のとき: 0 <= r < othe......r
* other < 0 のとき: other < r <= 0
* q は整数
をみたす数です。
このメソッドは、メソッド / と % によって定義されています。
@param other 自身を割る数を指定します。
//emlist[例][ruby]{
11.divmod(3) # => [3, 2]
(11.5).divmod(3.5)......# => [3, 1.0]
11.divmod(-3) # => [-4, -1]
11.divmod(3.5) # => [3, 0.5]
(-11).divmod(3.5) # => [-4, 3.0]
//}
@see Numeric#div, Numeric#modulo... -
Integer
# ceildiv(other) -> Integer (9201.0) -
self を other で割り、その(剰余を考えない)商を整数に切り上げたものを返します。 すなわち、self を other で割った商を q とすると、q 以上で最小の整数を返します。
...other で割り、その(剰余を考えない)商を整数に切り上げたものを返します。
すなわち、self を other で割った商を q とすると、q 以上で最小の整数を返します。
@param other self を割る数を指定します。
//emlist[][ruby]{
3.ceildiv(3)......# => 1
4.ceildiv(3) # => 2
5.ceildiv(3) # => 2
3.ceildiv(1.2) # => 3
-5.ceildiv(3) # => -1
-5.ceildiv(-3) # => 2
//}... -
Integer
# divmod(other) -> [Integer , Numeric] (9201.0) -
self を other で割った商 q と余り r を、 [q, r] という 2 要素の配列にし て返します。 商 q は常に整数ですが、余り r は整数であるとは限りません。
...self を other で割った商 q と余り r を、 [q, r] という 2 要素の配列にし
て返します。 商 q は常に整数ですが、余り r は整数であるとは限りません。
@param other self を割る数。
@see Numeric#divmod... -
Rational
# fdiv(other) -> Float (9201.0) -
self を other で割った商を Float で返します。 other に虚数を指定することは出来ません。
...self を other で割った商を Float で返します。
other に虚数を指定することは出来ません。
@param other 自身を割る数
//emlist[例][ruby]{
Rational(2, 3).fdiv(1) # => 0.6666666666666666
Rational(2, 3).fdiv(0.5) # => 1.3333333333333333
Rational(2).fdiv(3) # =>......0.6666666666666666
Rational(1).fdiv(Complex(1, 0)) # => 1.0
Rational(1).fdiv(Complex(0, 1)) # => RangeError
//}... -
Set
# divide {|o1 , o2| . . . } -> Set (9201.0) -
元の集合をブロックで定義される関係で分割し、その結果を集合として返します。
...st[例1][ruby]{
require 'set'
numbers = Set.new(1..6)
set = numbers.divide {|i| i % 3}
p set
# => #<Set: {#<Set: {1, 4}>, #<Set: {2, 5}>, #<Set: {3, 6}>}>
//}
//emlist[例2][ruby]{
require 'set'
numbers = Set[1, 3, 4, 6, 9, 10, 11]
set = numbers.divide {|i, j| (i - j).abs == 1}
p set # => #<Set......{#<Set: {1}>,
# #<Set: {3, 4}>,
# #<Set: {6}>,
# #<Set: {9, 10, 11}>}>
//}
//emlist[応用例: 8x2 のチェス盤上で、ナイトが到達できる位置に関する分類を作成します。][ruby]{
require 'set'
board = Set.new......nd
knight_move = Set[1,2]
p board.divide { |i,j|
Set[(i[0] - j[0]).abs, (i[1] - j[1]).abs] == knight_move
}
# => #<Set: {#<Set: {[1, 1], [3, 2], [5, 1], [7, 2]}>,
# #<Set: {[1, 2], [3, 1], [5, 2], [7, 1]}>,
# #<Set: {[2, 1], [4, 2], [6, 1], [8, 2]}>,
# #<Set: {[2,......//emlist[例1][ruby]{
numbers = Set.new(1..6)
set = numbers.divide {|i| i % 3}
p set
# => #<Set: {#<Set: {1, 4}>, #<Set: {2, 5}>, #<Set: {3, 6}>}>
//}
//emlist[例2][ruby]{
numbers = Set[1, 3, 4, 6, 9, 10, 11]
set = numbers.divide {|i, j| (i - j).abs == 1}
p set # => #<Set: {#<Set: {1}>,......# #<Set: {3, 4}>,
# #<Set: {6}>,
# #<Set: {9, 10, 11}>}>
//}
//emlist[応用例: 8x2 のチェス盤上で、ナイトが到達できる位置に関する分類を作成します。][ruby]{
board = Set.new
m, n = 8, 2
for i in 1..m
for j... -
Set
# divide {|o| . . . } -> Set (9201.0) -
元の集合をブロックで定義される関係で分割し、その結果を集合として返します。
...st[例1][ruby]{
require 'set'
numbers = Set.new(1..6)
set = numbers.divide {|i| i % 3}
p set
# => #<Set: {#<Set: {1, 4}>, #<Set: {2, 5}>, #<Set: {3, 6}>}>
//}
//emlist[例2][ruby]{
require 'set'
numbers = Set[1, 3, 4, 6, 9, 10, 11]
set = numbers.divide {|i, j| (i - j).abs == 1}
p set # => #<Set......{#<Set: {1}>,
# #<Set: {3, 4}>,
# #<Set: {6}>,
# #<Set: {9, 10, 11}>}>
//}
//emlist[応用例: 8x2 のチェス盤上で、ナイトが到達できる位置に関する分類を作成します。][ruby]{
require 'set'
board = Set.new......nd
knight_move = Set[1,2]
p board.divide { |i,j|
Set[(i[0] - j[0]).abs, (i[1] - j[1]).abs] == knight_move
}
# => #<Set: {#<Set: {[1, 1], [3, 2], [5, 1], [7, 2]}>,
# #<Set: {[1, 2], [3, 1], [5, 2], [7, 1]}>,
# #<Set: {[2, 1], [4, 2], [6, 1], [8, 2]}>,
# #<Set: {[2,......//emlist[例1][ruby]{
numbers = Set.new(1..6)
set = numbers.divide {|i| i % 3}
p set
# => #<Set: {#<Set: {1, 4}>, #<Set: {2, 5}>, #<Set: {3, 6}>}>
//}
//emlist[例2][ruby]{
numbers = Set[1, 3, 4, 6, 9, 10, 11]
set = numbers.divide {|i, j| (i - j).abs == 1}
p set # => #<Set: {#<Set: {1}>,......# #<Set: {3, 4}>,
# #<Set: {6}>,
# #<Set: {9, 10, 11}>}>
//}
//emlist[応用例: 8x2 のチェス盤上で、ナイトが到達できる位置に関する分類を作成します。][ruby]{
board = Set.new
m, n = 8, 2
for i in 1..m
for j... -
Prime
:: TrialDivisionGenerator # next -> Integer (9101.0) -
次の(擬似)素数を返します。なお、この実装においては擬似素数は真に素数です。
次の(擬似)素数を返します。なお、この実装においては擬似素数は真に素数です。
また内部的な列挙位置を進めます。 -
Prime
# prime _ division(value , generator= Prime :: Generator23 . new) -> [[Integer , Integer]] (6301.0) -
与えられた整数を素因数分解します。
...を素因数分解します。
@param value 素因数分解する任意の整数を指定します。
@param generator 素数生成器のインスタンスを指定します。
@return 素因数とその指数から成るペアを要素とする配列です。つまり、戻り値の各要素は2......roDivisionError 与えられた数値がゼロである場合に発生します。
//emlist[例][ruby]{
require 'prime'
Prime.prime_division(12) #=> [[2,2], [3,1]]
Prime.prime_division(10) #=> [[2,1], [5,1]]
//}
@see Prime.prime_division, Prime::EratosthenesGenerator, Prime::TrialDivisionGenerator......, Prime::Generator23... -
Numeric
# divmod(other) -> [Numeric] (6213.0) -
self を other で割った商 q と余り r を、 [q, r] という 2 要素の配列にして返します。 商 q は常に整数ですが、余り r は整数であるとは限りません。
...other で割った商 q と余り r を、
[q, r] という 2 要素の配列にして返します。
商 q は常に整数ですが、余り r は整数であるとは限りません。
ここで、商 q と余り r は、
* self == other * q + r
と
* other > 0 のとき: 0 <= r < oth......er
* other < 0 のとき: other < r <= 0
* q は整数
をみたす数です。
divmod が返す商は Numeric#div と同じです。
また余りは、Numeric#modulo と同じです。
このメソッドは、メソッド / と % によって定義されています。
@param other 自身を......割る数を指定します。
//emlist[例][ruby]{
11.divmod(3) #=> [3, 2]
(11.5).divmod(3.5) #=> [3, 1.0]
11.divmod(-3) #=> [-4, -1]
11.divmod(3.5) #=> [3, 0.5]
(-11).divmod(3.5) #=> [-4, 3.0]
//}
@see Numeric#div, Numeric#modulo... -
Bignum
# divmod(other) -> [Integer , Numeric] (6201.0) -
self を other で割った商 q と余り r を、 [q, r] という 2 要素の配列にし て返します。 商 q は常に整数ですが、余り r は整数であるとは限りません。
...self を other で割った商 q と余り r を、 [q, r] という 2 要素の配列にし
て返します。 商 q は常に整数ですが、余り r は整数であるとは限りません。
@param other self を割る数。
@see Numeric#divmod... -
Bignum
# fdiv(other) -> Float | Complex (6201.0) -
self を other で割った商を Float で返します。 ただし Complex が関わる場合は例外です。 その場合も成分は Float になります。
...self を other で割った商を Float で返します。
ただし Complex が関わる場合は例外です。
その場合も成分は Float になります。
@param other self を割る数を指定します。
@see Numeric#quo... -
Complex
# fdiv(other) -> Complex (6201.0) -
self を other で割った商を返します。 実部と虚部が共に Float の値になります。
...self を other で割った商を返します。
実部と虚部が共に Float の値になります。
@param other 自身を割る数
//emlist[例][ruby]{
Complex(11, 22).fdiv(3) # => (3.6666666666666665+7.333333333333333i)
Complex(11, 22).quo(3) # => ((11/3)+(22/3)*i)
//}
@see Complex#quo...