Improved Combinations with the BigInteger Data Type: Listing 1.

Structure of the Combinatorics program.

using System;
using System.Numerics;
namespace Combinatorics
  class CombinatoricsProgram
    static void Main(string[] args)
      Console.WriteLine("\nBegin combinations with C# BigInteger demo\n");
      // calling code here
      Console.WriteLine("\nEnd demo\n");

  public class Combination
    private int n;
    private int k;
    private int[] data;

    public Combination(int n, int k) { ... }
    public override string ToString() { ... }
    public Combination Successor() { ... }
    public static BigInteger Choose(int n, int k) { ... }
    public Combination Element(BigInteger m) { ... }
    private static int LargestV(int a, int b, BigInteger x) { ... }
    public string[] ApplyTo(string[] a) { ... }
  } // class Combination
} // ns

About the Author

Dr. James McCaffrey works for Microsoft Research in Redmond, Wash. He has worked on several Microsoft products including Azure and Bing. James can be reached at

comments powered by Disqus


.NET Insight

Sign up for our newsletter.

Terms and Privacy Policy consent

I agree to this site's Privacy Policy.

Upcoming Events