Пример #1
0
    public static IDictionary <char, int> Solve(AlphameticsEquation equation)
    {
        _equation = equation;

        var letterCount = LetterCountCombinations(equation).FirstOrDefault(IsSolution) ?? throw new ArgumentException();

        return(SolutionForLetterCount(letterCount));
    }
Пример #2
0
    public static IDictionary <char, int> Solve(AlphameticsEquation vobjEquation)
    {
        mobjEquation = vobjEquation;

        int[] intLetterCount = LetterCountCombinations(vobjEquation).FirstOrDefault(IsSolution);

        if (intLetterCount == null)
        {
            throw new ArgumentException();
        }
        return(SolutionForLetterCount(intLetterCount));
    }
Пример #3
0
 private static IEnumerable <int[]> LetterCountCombinations(AlphameticsEquation equation)
 => Enumerable.Range(0, 10)
 .ToArray()
 .Permutations(equation.LettersWithCount.Count);