別のキーワード
クラス
- Bignum (3)
- Complex (11)
- Fixnum (3)
- Integer (11)
- Numeric (55)
-
OpenSSL
:: BN (11) - Prime (22)
-
Prime
:: TrialDivisionGenerator (33) - Set (22)
キーワード
- % (11)
- divide (22)
- fdiv (28)
-
int
_ from _ prime _ division (11) - modulo (11)
- next (11)
-
prime
_ division (22) -
prime
_ fasttest? (11) - quo (11)
- rewind (11)
- succ (11)
検索結果
先頭5件
-
Numeric
# div(other) -> Integer (18144.0) -
self を other で割った整数の商 q を返します。
...。
div はメソッド / を呼びだし、floorを取ることで計算されます。
メソッド / の定義はサブクラスごとの定義を用います。
@param other 自身を割る数を指定します。
//emlist[例][ruby]{
p 3.div(2) # => 1
p (-3).div(2) # => -2
p (-3.0).div(2) #... -
Prime
# prime _ division(value , generator= Prime :: Generator23 . new) -> [[Integer , Integer]] (15301.0) -
与えられた整数を素因数分解します。
...与えられた整数を素因数分解します。
@param value 素因数分解する任意の整数を指定します。
@param generator 素数生成器のインスタンスを指定します。
@return 素因数とその指数から成るペアを要素とする配列です。つまり、戻......ise ZeroDivisionError 与えられた数値がゼロである場合に発生します。
//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::TrialDivisionGen... -
Prime
# int _ from _ prime _ division(pd) -> Integer (15237.0) -
素因数分解された結果を元の数値に戻します。
...素因数分解された結果を元の数値に戻します。
引数が [[p_1, e_1], [p_2, e_2], ...., [p_n, e_n]] のようであるとき、
結果は p_1**e_1 * p_2**e_2 * .... * p_n**e_n となります。
@param pd 整数のペアの配列を指定します。含まれているペアの第......一要素は素因数を、
第二要素はその素因数の指数をあらわします。
//emlist[例][ruby]{
require 'prime'
Prime.int_from_prime_division([[2,2], [3,1]]) #=> 12
Prime.int_from_prime_division([[2,2], [3,2]]) #=> 36
//}
@see Prime.int_from_prime_division... -
Integer
# prime _ division(generator = Prime :: Generator23 . new) -> [[Integer , Integer]] (12301.0) -
自身を素因数分解した結果を返します。
...自身を素因数分解した結果を返します。
@param generator 素数生成器のインスタンスを指定します。
@return 素因数とその指数から成るペアを要素とする配列です。つまり、戻り値の各要素は2要素の配列 [n,e] であり、それぞれ......、第2要素は n**e が self を割り切る最大の自然数 e です。
@raise ZeroDivisionError self がゼロである場合に発生します。
@see Prime#prime_division
//emlist[例][ruby]{
require 'prime'
12.prime_division #=> [[2,2], [3,1]]
10.prime_division #=> [[2,1], [5,1]]
//}... -
Complex
# fdiv(other) -> Complex (9201.0) -
self を other で割った商を返します。 実部と虚部が共に Float の値になります。
...elf を 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... -
Bignum
# fdiv(other) -> Float | Complex (6201.0) -
self を other で割った商を Float で返します。 ただし Complex が関わる場合は例外です。 その場合も成分は Float になります。
...self を other で割った商を Float で返します。
ただし Complex が関わる場合は例外です。
その場合も成分は Float になります。
@param other self を割る数を指定します。
@see Numeric#quo... -
Fixnum
# fdiv(other) -> Float | Complex (6201.0) -
self を other で割った商を Float で返します。 ただし Complex が関わる場合は例外です。 その場合も成分は Float になります。
...self を other で割った商を Float で返します。
ただし Complex が関わる場合は例外です。
その場合も成分は Float になります。
@param other self を割る数を指定します。
@see Numeric#quo... -
Numeric
# fdiv(other) -> Float | Complex (6201.0) -
self を other で割った商を Float で返します。 ただし Complex が関わる場合は例外です。 その場合も成分は Float になります。
...だし Complex が関わる場合は例外です。
その場合も成分は Float になります。
Numeric のサブクラスは、このメソッドを適切に再定義しなければなりません。
@param other 自身を割る数を指定します。
//emlist[例][ruby]{
1.fdiv(3)......#=> 0.3333333333333333
Complex(1, 1).fdiv 1 #=> (1.0+1.0i)
1.fdiv Complex(1, 1) #=> (0.5-0.5i)
//}
@see Numeric#quo... -
OpenSSL
:: BN # prime _ fasttest?(checks=nil , vtrivdiv=true) -> bool (6201.0) -
自身が素数であるなら true を返します。
...自身が素数であるなら true を返します。
vtrivdiv が真である場合には、 Miller-Rabin 法での
判定の前に小さな素数で割ることで素数か否かを
調べます。自身が小さな素数である場合にはこの手順
により素数ではないと誤った......ilである場合は OpenSSL が適切な
回数を判断します。
//emlist[][ruby]{
require 'openssl'
# 181 は 「小さな素数」である
OpenSSL::BN.new("181").prime_fasttest?(nil, true) # => false
OpenSSL::BN.new("181").prime_fasttest?(nil, false) # => true
//}
@param checks Miller-Rob......in法の繰り返しの回数
@param vtrivdiv 真なら小さな素数で割ることでの素数判定を試みます
@raise OpenSSL::BNError 判定時にエラーが発生
@see OpenSSL::BN#prime?... -
Set
# divide {|o1 , o2| . . . } -> Set (6119.0) -
元の集合をブロックで定義される関係で分割し、その結果を集合として返します。
...'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}>,......ます。][ruby]{
require 'set'
board = Set.new
m, n = 8, 2
for i in 1..m
for j in 1..n
board << [i,j]
end
end
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... -
Set
# divide {|o| . . . } -> Set (6119.0) -
元の集合をブロックで定義される関係で分割し、その結果を集合として返します。
...'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}>,......ます。][ruby]{
require 'set'
board = Set.new
m, n = 8, 2
for i in 1..m
for j in 1..n
board << [i,j]
end
end
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...