public void GcdLcmTest() { long a = 3457832408; long b = 56789309233; Assert.IsTrue(AdvancedIntegerMath.GCF(a, b) * AdvancedIntegerMath.LCM(a, b) == a * b); }
public override double ProbabilityMass(int k) { if ((k < Minimum) || (k > Maximum)) { return(0.0); } else { int c = k * ((int)AdvancedIntegerMath.GCF(n, m)); int c1 = (k - 1) * ((int)AdvancedIntegerMath.GCF(n, m)); return((LatticePathSum(c) - LatticePathSum(c1)) / AdvancedIntegerMath.BinomialCoefficient(n + m, n)); } }
public override double LeftInclusiveProbability(int k) { if (k < Minimum) { return(0.0); } else if (k >= Maximum) { return(1.0); } else { return(LatticePathSum(k * ((int)AdvancedIntegerMath.GCF(n, m))) / AdvancedIntegerMath.BinomialCoefficient(n + m, n)); } }