原文链接: C# 实数矩阵行列式计算
上一篇: n层杨辉三角形
下一篇: PAT A1049. Counting Ones (30)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace MatrixHandler {
class Num {
int numerator = 0;
int denominator = 1;
public static Num operator *(Num n1, Num n2) {
return new Num(n1.Numerator * n2.Numerator, n1.Denominator * n2.Denominator);
}
public static Num operator /(Num n1, Num n2) {
if (n1.Numerator < 0 && n2.Numerator < 0)
return new Num(-n1.Numerator * n2.Denominator, n1.Denominator * -n2.Numerator);
return new Num(n1.Numerator * n2.Denominator, n1.Denominator * n2.Numerator);
}
public static Num operator +(Num n1, Num n2) {
return new Num(n1.Numerator * n2.Denominator + n2.Numerator * n1.Denominator, n1.Denominator * n2.Denominator);
}
public static Num operator -(Num n1, Num n2) {
return new Num(n1.Numerator * n2.Denominator - n2.Numerator * n1.Denominator, n1.Denominator * n2.Denominator);
}
public static Num operator -(Num n) {
return new Num(-n.Numerator, n.Denominator);
}
public Num getCopy() {
return new Num(Numerator, Denominator);
}
public int Numerator {
get {
return numerator;
}
set {
numerator = value;
}
}
public int Denominator {
get {
return denominator;
}
set {
denominator = val