public void TestHexagonalNthNumber()
        {
            var expected = 40755;
            var actual   = HexagonalNumberGenerator.NthNumber(143);

            Assert.AreEqual(expected, actual);
        }
Esempio n. 2
0
        static void Main(string[] args)
        {
            // all hexagonal numbers are also triangle numbers
            // only need to find next hexagonal number which is also
            // a pentagonal number

            int p = 166;
            int h = 144;

            BigInteger pNum = PentagonalNumberGenerator.NthNumber(p);
            BigInteger hNum = HexagonalNumberGenerator.NthNumber(h);

            while (pNum != hNum && pNum > 0)
            {
                if (pNum < hNum)
                {
                    p++;
                    pNum = PentagonalNumberGenerator.NthNumber(p);
                }
                else
                {
                    h++;
                    hNum = HexagonalNumberGenerator.NthNumber(h);
                }
            }

            Console.WriteLine(hNum);
            Console.ReadKey();
        }
        public void TestHexagonalNumberGenerator()
        {
            var expected = new[] { 1, 6, 15, 28, 45 };
            var actual   = HexagonalNumberGenerator.Generate().Take(5).ToArray();

            Assert.AreEqual(expected.Length, actual.Length);

            for (int i = 0; i < expected.Length; i++)
            {
                Assert.AreEqual(expected[i], actual[i]);
            }
        }