Exemplo n.º 1
0
        public long GetNext(long next)
        {
            while (true)
            {
                var nextTriangleNumber = TriangleNumber.GetNumber(next);

                if (Pentagonnumber.GetN(nextTriangleNumber) > 0 && HexagonalNumber.GetN(nextTriangleNumber) > 0)
                {
                    return(nextTriangleNumber);
                }

                next++;
            }
        }
Exemplo n.º 2
0
        private long GetCurrentMinimumD(long n, Dictionary <long, long> pentagonnumberdictionary)
        {
            long nvalue = Pentagonnumber.GetNumber(n);

            for (long np = n - 1; np >= 1; np--)
            {
                long npvalue = Pentagonnumber.GetNumber(np);
                long sum     = nvalue + npvalue;
                long diff    = nvalue - npvalue;
                if (pentagonnumberdictionary.ContainsKey(sum) && pentagonnumberdictionary.ContainsKey(diff))
                {
                    return(nvalue - npvalue);
                }
            }

            return(long.MaxValue);
        }
Exemplo n.º 3
0
        public long GetMinimumD()
        {
            long MinimumD = long.MaxValue;

            var pentagonnumberdictionary = Pentagonnumber.Iterastor().Take(100000).ToDictionary(e => e);;

            long n = 1;

            while (true)
            {
                //TODO...ikke sikker om dette er minium...hvordan kan det besvisses..?
                var currentMinimumD = GetCurrentMinimumD(n, pentagonnumberdictionary);
                if (currentMinimumD < MinimumD)
                {
                    return(currentMinimumD);
                }
                n++;
            }


            return(MinimumD);
        }
Exemplo n.º 4
0
 public void TestTriangleGetN(long n, int tn)
 {
     Assert.Equal(tn, Pentagonnumber.GetN(n));
 }
Exemplo n.º 5
0
        public void TestTriangleNumber(int n, int tn)
        {
            var tabell = Pentagonnumber.Iterastor(100).ToArray();

            Assert.Equal(tn, tabell[n - 1]);
        }