Skip to content

Instantly share code, notes, and snippets.

@sheepcloud
Created May 13, 2015 10:13
Show Gist options
  • Save sheepcloud/1de3e58bab2c0c079ddd to your computer and use it in GitHub Desktop.
Save sheepcloud/1de3e58bab2c0c079ddd to your computer and use it in GitHub Desktop.
static void Main(string[] args)
{
var sources = "123456789";
var comm = " +-";
var insertPoint = sources.Length - 1;
var commCount = comm.Length;
const int value = 100;
System.Data.DataTable dt = new System.Data.DataTable();
foreach (var v in Enumerable.Range(0, (int)Math.Pow(commCount, insertPoint)))
{
var formula = sources;
foreach (var n in Enumerable.Range(0, insertPoint).Reverse())
{
var index = (v / (int)Math.Pow(commCount, n)) % commCount;
formula = (index == 0) ? formula : formula.Insert(n + 1, new string(new[] { comm.ElementAt(index) }));
}
var result = (int)dt.Compute(formula, "");
if (result == value)
Console.WriteLine(formula + " = " + result);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment