예제 #1
0
        public void TestBigAddition()
        {
            BigNumber num1   = new BigNumber("11111111111111111111111111111111111111111111111111");
            BigNumber num2   = new BigNumber("11111111111111111111111111111111111111111111111111");
            BigNumber result = num1.Addition(otherNumber: num2);

            Assert.AreEqual("22222222222222222222222222222222222222222222222222", result.ToString());
        }
예제 #2
0
        public void TestBigAdditionWithCarry()
        {
            BigNumber num1   = new BigNumber("99999999999999999999999999999999999999999999999999");
            BigNumber num2   = new BigNumber("99999999999999999999999999999999999999999999999999");
            BigNumber result = num1.Addition(otherNumber: num2);

            Assert.AreEqual("199999999999999999999999999999999999999999999999998", result.ToString());
        }
예제 #3
0
        public void TestAddition()
        {
            BigNumber num1   = new BigNumber("300");
            BigNumber num2   = new BigNumber("525");
            BigNumber result = num1.Addition(otherNumber: num2);

            Assert.AreEqual("825", result.ToString());
        }
예제 #4
0
        public BigNumber GenerateFrom(BigNumber number)
        {
            Checker.CheckNull(number);
            if (number.IsEven)
            {
                number = number.Clone();
                number.Increment();
            }
            var two = BigNumber.FromInt(2);

            while (!PrimeTestNumber(number))
            {
                number = number.Addition(two);
            }
            return(number);
        }
        public static int Find1000DigitFibonacciNumberMine()
        {
            BigNumber num1      = new BigNumber("1");
            BigNumber num2      = new BigNumber("1");
            int       index     = 2;
            int       numDigits = 1;

            while (numDigits < 1000)
            {
                BigNumber result = num1.Addition(otherNumber: num2);
                num1      = num2;
                num2      = result;
                numDigits = result.ToString().Length;
                index++;
            }

            return(index);
        }