雨谷の日和

過去12年で1,600を超えるアニメの第1話だけは見続けた僕のお勧めアニメがハズレなはずがない

分数での掃き出し法による行列式計算12

さて、引き算も実装します。
こんな感じ。
ソースコード

  public Fraction negate(){
    return multiply(-1);
  }
  
  public Fraction subtract(Fraction dst){
    return this.add(dst.negate());
  }

結局のところ、引き算は負の数の足し算なので、対象となる分数にまず-1 を掛け(negate)た後、足し算(add)します。
これを実際に使ってみます。
ソースコード

    { // 1/3 を引いてみる
      Fraction result = fraction.subtract(new Fraction(1, 3));
      print(result);
    }
    { // 1/5 を引いてみる
      Fraction result = fraction.subtract(new Fraction(1, 5));
      print(result);
    }

実行結果は以下。

result: 1/6 [false, false]
result: 3/10 [false, false]

オッケーっぽいですね。