class

NgLib::LDE(T)

Inherits Reference < Object

不定方程式 $ax + by = c$ を解きます。

常に解が存在するわけではないので、#has_solution? などで解が存在するかを確かめるようにしてください。

多分、解の媒介変数 $m = 0$ のとき、$|x| + |y|$ が最小になります。

Constructors

new(a, b, c)

不定方程式 $ax + by = c$ を作ります。

Source

Instance methods

h

解は媒介変数 $m$ を用いて $x = x_0 + mk,\ y = y_0 + mh$ と求まるので、 この $h$ を返します。

解が存在しない場合は nil を返します。

Source
h!

現在の $m$ の値に対する $h$ の解を返します。

解は媒介変数 $m$ を用いて $x = x_0 + mk,\ y = y_0 + mh$ と求まるので、 この $h$ を返します。

解が存在しない場合は例外を送出します。

Source
has_solution?

解が存在するかを返します。

Source
inspect(io : IO)

Appends a String representation of this object which includes its class name, its object address and the values of all instance variables.

class Person
  def initialize(@name : String, @age : Int32)
  end
end

Person.new("John", 32).inspect # => #<Person:0x10fd31f20 @name="John", @age=32>
Source
k

解は媒介変数 $m$ を用いて $x = x_0 + mk,\ y = y_0 + mh$ と求まるので、 この $k$ を返します。

解が存在しない場合は nil を返します。

Source
k!

現在の $m$ の値に対する $k$ の解を返します。

解は媒介変数 $m$ を用いて $x = x_0 + mk,\ y = y_0 + mh$ と求まるので、 この $k$ を返します。

解が存在しない場合は例外を送出します。

Source
m

媒介変数 $m$ の値を返します。

Source
m=(m)

媒介変数 $m$ の値を更新します。

Source
solution

現在の $m$ の値に対する解を返します。

解は媒介変数 $m$ を用いて $x = x_0 + mk,\ y = y_0 + mh$ と求まるので、 $(x_0, b', y_0, a')$ をこの順に格納したタプルとして返します。

解が存在しない場合は nil を返します。

Source
solution!

現在の $m$ の値に対する解を返します。

解が存在しない場合は例外を送出します。

Source
to_s(io : IO)

Appends a short String representation of this object which includes its class name and its object address.

class Person
  def initialize(@name : String, @age : Int32)
  end
end

Person.new("John", 32).to_s # => #<Person:0x10a199f20>
Source
x

現在の $m$ の値に対する $x$ の解を返します。

解は媒介変数 $m$ を用いて $x = x_0 + mk,\ y = y_0 + mh$ と求まるので、 この $x$ を返します。

解が存在しない場合は nil を返します。

Source
x!

現在の $m$ の値に対する $x$ の解を返します。

解は媒介変数 $m$ を用いて $x = x_0 + mk,\ y = y_0 + mh$ と求まるので、 この $x$ を返します。

解が存在しない場合は例外を送出します。

Source
y

現在の $m$ の値に対する $y$ の解を返します。

解は媒介変数 $m$ を用いて $x = x_0 + mk,\ y = y_0 + mh$ と求まるので、 この $y$ を返します。

解が存在しない場合は nil を返します。

Source
y!

現在の $m$ の値に対する $y$ の解を返します。

解は媒介変数 $m$ を用いて $x = x_0 + mk,\ y = y_0 + mh$ と求まるので、 この $y$ を返します。

解が存在しない場合は例外を送出します。

Source

Nested types