Category Archives: combinatorics

Review posted: “The Modern C# Challenge”

The Modern C# Challenge: Become an expert C# programmer by solving interesting programming problems Clock End Gooner has posted a review of my latest book, The Modern C# Challenge: Become an expert C# programmer by solving interesting programming problems. Please … Continue reading

Posted in books, combinatorics, cryptography, geometry, mathematics | Leave a comment

Find two sets where the median of one is the mean of the other and vice versa in C#

For an upcoming book, I wanted to find sets where the mean (average) of one is the median (middle value) of the other and vice versa. I wanted to avoid trivial examples such as {1, 1, 1} and where the … Continue reading

Posted in algorithms, combinatorics | Tagged , , , , , , , , , , | Leave a comment

Display team names for a round robin tournament in C#

The example Generate a schedule for a round robin tournament in C# explains how you can generate a schedule for a round robin tournament. This example simply adds the ability to display the schedule using the team names instead of … Continue reading

Posted in algorithms, combinatorics, mathematics | Tagged , , , , , , , , , , , | Leave a comment

Linkback to the Secret Santa Problem

Tom left a comment to my post Calculate the number of secret Santa permutations in C#. He used that example to build a site in JavaScript explaining how the algorithm works. It’s a pretty cool little page. Drop by and … Continue reading

Posted in algorithms, combinatorics, mathematics | Tagged , , , , , , , , , , , , , | Leave a comment

Generate a schedule for a round robin tournament in C#

Click here to see a description of the algorithm the program uses to schedule a round robin tournament. Function GenerateRoundRobinOdd returns an array where results[i, j] gives the opponent of team i in round j of the round robin tournament. … Continue reading

Posted in algorithms, combinatorics, mathematics | Tagged , , , , , , , , , , , | 7 Comments

Enumerate pairs of objects in arrays or IEnumerables in C#

Sometimes it’s useful to enumerate pairs of objects in an array or enumerable. For example, if you have an array holding volleyball teams, the pairs would list each of the possible matches you could make. If the teams are A, … Continue reading

Posted in arrays, combinatorics, extension methods | Tagged , , , , , , , , , , , , , | Leave a comment

Send secret Santa emails in C#

This example shows how you can automatically send secret Santa emails for a party. The example Pick a secret Santa assignment in C# shows how you can quickly make secret Santa assignments. The post Calculate the number of secret Santa … Continue reading

Posted in algorithms, combinatorics, mathematics | Tagged , , , , , , , , , , , , , | Leave a comment

Calculate the number of secret Santa permutations in C#

The example Pick a secret Santa assignment in C# picks a valid permutation of the people so no one is mapped to himself or herself. Such a permutation is called a derangement. See that example for details. The number of … Continue reading

Posted in algorithms, combinatorics, mathematics | Tagged , , , , , , , , , , , , | 4 Comments

Pick a secret Santa assignment in C#

In a secret Santa party, you put everyone’s names in a hat and people draw from the hat. Each person becomes the secret Santa for the person he draws and gets that person a present for the party. To keep … Continue reading

Posted in algorithms, combinatorics, mathematics | Tagged , , , , , , , , , , , | 2 Comments

Calculate the factorial function and use Debug.Assert in C#

The factorial of a number N is written N! and has the value 1 * 2 * 3 * … * N. By definition, 0! = 1. The value N! gives the number of permutations of a set of N … Continue reading

Posted in algorithms, combinatorics, debugging, mathematics | Tagged , , , , , , , , , , , | Leave a comment