Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- namespace Euler_P32
- {
- class Program
- {
- static void Main(string[] args)
- {
- string inputSet = "123456789";
- RecursiveCombinatorics perms = new RecursiveCombinatorics(inputSet, RecursiveCombinatorics.Mode.Permutation);
- RecursiveCombinatorics combos = new RecursiveCombinatorics(inputSet.Substring(0, inputSet.Length-1), RecursiveCombinatorics.Mode.Combination, 2);
- Console.WriteLine(perms.Count);
- HashSet<int> productList = new HashSet<int>();
- int sum = 0;
- for (int i = 0; i < combos.Count; i++)
- {
- if (combos[i][0] != combos[i][1])
- {
- for (int j = 0; j < perms.Count; j++)
- {
- StringBuilder temp = new StringBuilder(inputSet.Length);
- for (int k = 0; k < perms[i].Length; k++)
- {
- temp.Append(perms[j][k]);
- }
- int multiplicand = int.Parse(temp.ToString().Substring(0, (int)combos[i][0][0] - 48));
- //Console.WriteLine(int.Parse(temp.ToString().Substring(0, (int)varis[i][0][0] - 48)));
- int multiplier = int.Parse(temp.ToString().Substring((int)combos[i][0][0] - 48, (int)combos[i][1][0] - (int)combos[i][0][0]));
- //Console.WriteLine(int.Parse(temp.ToString().Substring((int)varis[i][0][0] - 48, (int)varis[i][1][0] - (int)varis[i][0][0])));
- int product = int.Parse(temp.ToString().Substring((int)combos[i][1][0] - 48));
- //Console.WriteLine(int.Parse(temp.ToString().Substring((int)varis[i][1][0] - 48)));
- if (multiplicand * multiplier == product)
- {
- if (!productList.Contains(product))
- {
- productList.Add(product);
- sum += product;
- }
- Console.WriteLine(temp.ToString());
- Console.WriteLine(multiplicand + " x " + multiplier + " = " + product);
- }
- }
- }
- }
- Console.WriteLine(sum);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement