Esempio n. 1
0
        public void GetNNumbersWithSumEqualTo(int n, int result)
        {
            var numbers = Program.ReadInput(Program.InputTxt);

            var p = new ExpandedSolver(numbers).GetNNumbersWithSumEqualTo(n, Program.SumToFind);

            p.Aggregate((x, y) => x * y).Should().Be(result);
        }
Esempio n. 2
0
        public long GetFirstNumberNotEqualToNPrecedent(int key)
        {
            for (var i = key; i < _numbers.Count; i++)
            {
                var lastNNumbers = _numbers.Skip(i - key).Take(key);

                var twoNumbersWithSumEqualTo2 = new ExpandedSolver(lastNNumbers).GetNNumbersWithSumEqualTo(2, _numbers[i]);

                if (!twoNumbersWithSumEqualTo2.Any())
                {
                    return(_numbers[i]);
                }
            }

            throw new InvalidOperationException("No such number");
        }
Esempio n. 3
0
        public void Generate2UpletsTest()
        {
            var numbers = new long[] { 1, 2, 3 };

            var expected = new[]
            {
                new[] { 1, 1 },
                new[] { 1, 2 },
                new[] { 1, 3 },
                new[] { 2, 1 },
                new[] { 2, 2 },
                new[] { 2, 3 },
                new[] { 3, 1 },
                new[] { 3, 2 },
                new[] { 3, 3 }
            };

            var result = new ExpandedSolver(numbers).GenerateNUplets(2).ToList();

            result.Should().BeEquivalentTo(expected);
        }