Ejemplo n.º 1
0
        public async Task StartAsync()
        {
            LargeNumber a   = new LargeNumber("500");
            LargeNumber b   = new LargeNumber("5000");
            LargeNumber sum = LargeNumber.Add(a, b);

            Console.WriteLine(sum.ToString());
            return;

            if (Config.bot.token == "" || Config.bot.token == null)
            {
                return;
            }
            _client = new DiscordSocketClient(new DiscordSocketConfig
            {
                LogLevel = LogSeverity.Verbose
            });
            _client.Log += Log;
            await _client.LoginAsync(TokenType.Bot, Config.bot.token);

            await _client.StartAsync();

            _handler = new CommandHandler();
            await _handler.InitializeAsync(_client);

            await Task.Delay(-1);
        }
Ejemplo n.º 2
0
        public void RandomTest()
        {
            string num1 = LargeNumber.Random(1000);
            string num2 = LargeNumber.Random(1000);

            Assert.IsFalse(num1 == num2);
        }
        public static HashSet <string> Sequence(int from, int to)
        {
            var sequence = new HashSet <string>();

            for (int a = from; a <= to; a++)
            {
                var aLargeNumber = new LargeNumber(a);
                var aggregate    = new LargeNumber(a);

                for (int i = 1; i < from; i++)
                {
                    aggregate *= aLargeNumber;
                }

                sequence.Add(aggregate.ToString());

                for (int b = from + 1; b <= to; b++)
                {
                    aggregate *= aLargeNumber;
                    sequence.Add(aggregate.ToString());
                }
            }

            return(sequence);
        }
Ejemplo n.º 4
0
 private static int DigitsSum(LargeNumber num)
 {
     return(num
            .ToString()
            .Select(c => int.Parse(c.ToString()))
            .Sum());
 }
Ejemplo n.º 5
0
        public void LargeNumberValueAddition()
        {
            LargeNumber ln  = new LargeNumber(0, 0);
            LargeNumber ln2 = new LargeNumber(1.0f, 0);

            ln += ln2;
            Assert.That(Utils.AreFloatsEqual(1f, ln.value, 0.00000007f));//new LargeNumber(1.0f, 0), ln + ln2);
        }
Ejemplo n.º 6
0
 public static int SumOfDigitsOfNumber(int num)
 {
     return(LargeNumber
            .Factorial(num)
            .ToString()
            .Select(a => int.Parse(a.ToString()))
            .Sum());
 }
Ejemplo n.º 7
0
        public void LargeNumberValueSubtractionWithZeroExponent()
        {
            LargeNumber ln  = new LargeNumber(0, 0);
            LargeNumber ln2 = new LargeNumber(1.0f, 6);

            ln -= ln2;
            Assert.That(Utils.AreFloatsEqual(1f, ln.value, 0.00000007f)); //new LargeNumber(1.0f, 0), ln + ln2);
            Assert.AreEqual(ln.exponent, -6);                             //new LargeNumber(1.0f, 0), ln + ln2);
        }
Ejemplo n.º 8
0
        public void LargeNumberValueAdditionWithSameExponent()
        {
            LargeNumber ln  = new LargeNumber(3.21f, 6);
            LargeNumber ln2 = new LargeNumber(1.0f, 6);

            ln += ln2;
            Assert.That(Utils.AreFloatsEqual(4.21f, ln.value, 0.00000007f)); //new LargeNumber(1.0f, 0), ln + ln2);
            Assert.AreEqual(ln.exponent, 6);                                 //new LargeNumber(1.0f, 0), ln + ln2);
        }
Ejemplo n.º 9
0
        public void ExtendTestSmaller()
        {
            string num  = "76434";
            int    size = 3;

            string newNum = LargeNumber.Extend(num, size);

            Assert.AreEqual(num, newNum);
        }
Ejemplo n.º 10
0
        public void ExtendTestGreater()
        {
            string num  = "465465";
            int    size = 10;

            string newNum   = LargeNumber.Extend(num, size);
            string expected = "4654650000";

            Assert.AreEqual(expected, newNum);
        }
Ejemplo n.º 11
0
        public void SumTest1()
        {
            string a = "65468";
            string b = "54687";

            string expected = "120155";
            string result   = LargeNumber.Sum(Reverse(a), Reverse(b));

            Assert.AreEqual(expected, Reverse(result));
        }
Ejemplo n.º 12
0
        private static LargeNumber ComputeFactorial(int n)
        {
            LargeNumber result = 1;

            for (int i = 2; i <= n; i++)
            {
                result *= i;
            }
            return(result);
        }
Ejemplo n.º 13
0
        public void LargeNumberValueMultiplicationIncreasingExponent2()
        {
            LargeNumber ln = new LargeNumber(8.0f, 0);

            ln *= 23;
            Debug.Log("MI" + ln.value);
            Debug.Log("MI   " + ln.exponent);
            Assert.That(Utils.AreFloatsEqual(1.84f, ln.value, 0.000000007f)); //new LargeNumber(1.0f, 0), ln + ln2);
            Assert.AreEqual(ln.exponent, 2);                                  //new LargeNumber(1.0f, 0), ln + ln2);
        }
Ejemplo n.º 14
0
        public void LargeNumberValueDivisionSmallerExponent()
        {
            LargeNumber ln  = new LargeNumber(6.0f, 2);
            LargeNumber ln2 = new LargeNumber(2.0f, 50);

            ln /= ln2;
            Debug.Log("Msm" + ln.value);
            Debug.Log("Msm" + ln.exponent);
            Assert.That(Utils.AreFloatsEqual(3f, ln.value, 0.000000007f)); //new LargeNumber(1.0f, 0), ln + ln2);
            Assert.AreEqual(ln.exponent, -48);                             //new LargeNumber(1.0f, 0), ln + ln2);
        }
Ejemplo n.º 15
0
        private static void LargeNumberToString(LargeNumber largeNumber, ref string result, ref long value)
        {
            long largeNumberValue = (long)largeNumber;
            if (value / largeNumberValue > 0)
            {
                result = string.Format("{0}{1} {2} ", result, NumberToWord(value / largeNumberValue), largeNumber);
                value %= largeNumberValue;

                if (value > 0 && largeNumberValue > (long)LargeNumber.Hundred) result = string.Format("{0}, ", result.Trim());
            }
        }
Ejemplo n.º 16
0
        public void LargeNumberValueDivisionIncreasingExponent2()
        {
            LargeNumber ln = new LargeNumber(8.0f, 3);

            ln /= 23;
            Debug.Log("MI" + ln.value);
            Debug.Log("MI   " + ln.exponent);
            Assert.That(Utils.AreFloatsEqual(3.47826086957f, ln.value, 0.000007f)); //new LargeNumber(1.0f, 0), ln + ln2);
            Assert.AreEqual(ln.exponent, 2);                                        //new LargeNumber(1.0f, 0), ln + ln2);
            //Assert.AreEqual(ln.minus, );//new LargeNumber(1.0f, 0), ln + ln2);
        }
Ejemplo n.º 17
0
        public void LargeNumberValueDivisionIncreasingExponent()
        {
            LargeNumber ln  = new LargeNumber(8.0f, 13);
            LargeNumber ln2 = new LargeNumber(4.0f, 5);

            ln /= ln2;
            Debug.Log("MI" + ln.value);
            Debug.Log("MI   " + ln.exponent);
            Assert.That(Utils.AreFloatsEqual(2f, ln.value, 0.000000007f)); //new LargeNumber(1.0f, 0), ln + ln2);
            Assert.AreEqual(ln.exponent, 8);                               //new LargeNumber(1.0f, 0), ln + ln2);
        }
Ejemplo n.º 18
0
        public void LargeNumberValueDivisionZeroExponent2()
        {
            LargeNumber ln  = new LargeNumber(2.0f, 7);
            LargeNumber ln2 = new LargeNumber(3.0f, 0);

            ln /= ln2;
            Debug.Log("MZ" + ln.value);
            Debug.Log("MZ" + ln.exponent);
            Assert.That(Utils.AreFloatsEqual(6.66666667f, ln.value, 0.0000007f)); //new LargeNumber(1.0f, 0), ln + ln2);
            Assert.AreEqual(ln.exponent, 6);                                      //new LargeNumber(1.0f, 0), ln + ln2);
        }
Ejemplo n.º 19
0
        public void LargeNumberValueMultiplicationLargerExponent()
        {
            LargeNumber ln  = new LargeNumber(4.0f, 5);
            LargeNumber ln2 = new LargeNumber(2.0f, 3);

            ln *= ln2;
            Debug.Log("MLr" + ln.value);
            Debug.Log("MLr" + ln.exponent);
            Assert.That(Utils.AreFloatsEqual(8f, ln.value, 0.000000007f)); //new LargeNumber(1.0f, 0), ln + ln2);
            Assert.AreEqual(ln.exponent, 8);                               //new LargeNumber(1.0f, 0), ln + ln2);
        }
Ejemplo n.º 20
0
        public void LargeNumberValueMultiplicationZeroExponent1()
        {
            LargeNumber ln  = new LargeNumber(2.0f, 0);
            LargeNumber ln2 = new LargeNumber(3.0f, 4);

            ln *= ln2;
            Debug.Log("MZ" + ln.value);
            Debug.Log("MZ" + ln.exponent);
            Assert.That(Utils.AreFloatsEqual(6f, ln.value, 0.000000007f)); //new LargeNumber(1.0f, 0), ln + ln2);
            Assert.AreEqual(ln.exponent, 4);                               //new LargeNumber(1.0f, 0), ln + ln2);
        }
Ejemplo n.º 21
0
        public void LargeNumberValueAdditionWithLargerExponent()
        {
            LargeNumber ln  = new LargeNumber(1.0f, 6);
            LargeNumber ln2 = new LargeNumber(1.0f, 5);

            ln += ln2;
            Debug.Log("Lr" + ln.value);
            Debug.Log("Lr" + ln.exponent);
            Assert.That(Utils.AreFloatsEqual(1.1f, ln.value, 0.00000007f)); //new LargeNumber(1.0f, 0), ln + ln2);
            Assert.AreEqual(ln.exponent, 6);                                //new LargeNumber(1.0f, 0), ln + ln2);
        }
Ejemplo n.º 22
0
        public void LargeNumberValueDivisionLargerExponent()
        {
            LargeNumber ln  = new LargeNumber(4.0f, 5);
            LargeNumber ln2 = new LargeNumber(2.0f, 9);

            ln /= ln2;
            Debug.Log("MLr" + ln.value);
            Debug.Log("MLr" + ln.exponent);
            Assert.That(Utils.AreFloatsEqual(2f, ln.value, 0.000000007f)); //new LargeNumber(1.0f, 0), ln + ln2);
            Assert.AreEqual(ln.exponent, -4);                              //new LargeNumber(1.0f, 0), ln + ln2);
        }
Ejemplo n.º 23
0
        public void LargeNumberValueSubtractionWithLargerExponent3()
        {
            LargeNumber ln  = new LargeNumber(1.0f, 42);
            LargeNumber ln2 = new LargeNumber(1.0f, 16);

            ln += ln2;
            Debug.Log("Lr" + ln.value);
            Debug.Log("Lr" + ln.exponent);
            Assert.That(Utils.AreFloatsEqual(1f, ln.value, 0.000000007f)); //new LargeNumber(1.0f, 0), ln + ln2);
            Assert.AreEqual(ln.exponent, 42);                              //new LargeNumber(1.0f, 0), ln + ln2);
        }                                                                  // A Test behaves as an ordinary method
Ejemplo n.º 24
0
        public void LargeNumberValueSubtraction()
        {
            LargeNumber ln  = new LargeNumber(5.0f, 0);
            LargeNumber ln2 = new LargeNumber(1.0f, 0);

            ln -= ln2;
            Debug.Log("value " + ln.value);
            Debug.Log("exp " + ln.exponent);
            Assert.That(Utils.AreFloatsEqual(4f, ln.value, 0.00000007f)); //new LargeNumber(1.0f, 0), ln + ln2);
            Assert.AreEqual(ln.exponent, 0);                              //new LargeNumber(1.0f, 0), ln + ln2);
        }
Ejemplo n.º 25
0
        public static LargeNumber SelfPowerSeriesSumUntilN(int n)
        {
            var sum = new LargeNumber(0);

            for (int i = 1; i <= n; i++)
            {
                sum += LargeNumber.Pow(i, i);
            }

            return(sum);
        }
Ejemplo n.º 26
0
        public void LargeNumberNEWFUN()
        {
            LargeNumber ln1 = new LargeNumber(5, 6);

            //ln1 -= ln2;
            ln1 = ln1 * 3f;

            Debug.Log("Inc" + ln1.value);
            Debug.Log("Inc" + ln1.exponent);
            Assert.That(Utils.AreFloatsEqual(1.5f, ln1.value, 0.00007f)); //new LargeNumber(1.0f, 0), ln + ln2);
            Assert.AreEqual(ln1.exponent, 7);                             //new LargeNumber(1.0f, 0), ln + ln2);
        }
Ejemplo n.º 27
0
    void IncreaceBase()
    {
        if (AllClickerStats >= cost)
        {
            numOfBases++;

            AllClickerStats -= cost;
            cost            *= 1.2f;
            timer.text.text  = timer.GetProductionPerTime();
            UpdateStats();
        }
    }
Ejemplo n.º 28
0
        public void SumTestSize1000()
        {
            string num1   = LargeNumber.Random(1000);
            string num2   = LargeNumber.Random(1000);
            string result = LargeNumber.Sum(num1, num2);

            BigInteger bigNum1  = BigInteger.Parse(Reverse(num1));
            BigInteger bigNum2  = BigInteger.Parse(Reverse(num2));
            BigInteger expected = bigNum1 + bigNum2;

            Assert.AreEqual(expected.ToString(), Reverse(result));
        }
Ejemplo n.º 29
0
        public void LargeNumberValueSubtractionWithSmallerExponent3()
        {
            LargeNumber ln  = new LargeNumber(1.0f, 15);
            LargeNumber ln2 = new LargeNumber(1.0f, 54);

            ln += ln2;
            Debug.Log("Sm" + ln.value);
            Debug.Log("Sm" + ln.exponent);
            Assert.That(Utils.AreFloatsEqual(1, ln.value, 0.00000007f)); //new LargeNumber(1.0f, 0), ln + ln2);
            Assert.AreEqual(ln.exponent, 54);                            //new LargeNumber(1.0f, 0), ln + ln2);
            Assert.AreEqual(ln.minus, true);                             //new LargeNumber(1.0f, 0), ln + ln2);
        }
Ejemplo n.º 30
0
        public void LargeNumberValueAdditionWithIncreasingExponent()
        {
            LargeNumber ln1 = new LargeNumber(9.0f, 6);
            LargeNumber ln2 = new LargeNumber(2.0f, 6);

            ln1 += ln2;

            Debug.Log("Inc" + ln1.value);
            Debug.Log("Inc" + ln1.exponent);

            Assert.That(Utils.AreFloatsEqual(1.1f, ln1.value, 0.00000007f)); //new LargeNumber(1.0f, 0), ln + ln2);
            Assert.AreEqual(ln1.exponent, 7);                                //new LargeNumber(1.0f, 0), ln + ln2);
        }
Ejemplo n.º 31
0
        public static long LatticePathsInANxNGrid(int n)
        {
            var nominator = new LargeNumber(1);

            for (int i = 2 * n - 1; i > n; i--)
            {
                nominator *= i;
            }

            var denominator = LargeNumber.Factorial(n - 1);

            return(long.Parse((nominator / denominator).ToString()) * 2);
        }