Beispiel #1
0
        static void Main(string[] args)
        {

           
            for (int i = 1; i < 100; i++)
            {
                for (int j = 1; j < 100; j++)
                {
                    //List<int> product = BigNumberFunctions.exponentList(BigNumberFunctions.getIntListFromString(i.ToString()), j);
                    ArbitraryLargeUnsignedInt baseNum = new ArbitraryLargeUnsignedInt(i.ToString());
                    ArbitraryLargeUnsignedInt prod = baseNum;
                    for (int k = 1; k < j; k++)
                    {
                        prod *= baseNum;
                    }

                        setLargest(prod.numList);
                }
            } 


            Console.WriteLine(largestSum);
               

            Console.WriteLine();

            Console.ReadLine();


        }
Beispiel #2
0
        static void Main(string[] args)
        {
            int powDigitCount = 0;
            for (int i = 1; i < 25; i++)
            {
                
                    for (ArbitraryLargeUnsignedInt j = new ArbitraryLargeUnsignedInt("1"); true; j += 1)
                    //for (ulong j = 4; true; j++)
                    {
                      //  Console.WriteLine(j);
                        ArbitraryLargeUnsignedInt num = new ArbitraryLargeUnsignedInt("1");
                        // ulong num = 1;
                        for (int k = 0; k < i; k++)
                        {

                            num *= j;
                        }

                        if (num.ToString().Length > i)
                            break;
                        else if (num.ToString().Length == i)
                        {
                            powDigitCount++;
                            Console.WriteLine(j + "^" + i + " = " + num.ToString() + " LEN => " + num.ToString().Length);
                        }


                    }
            }

            Console.WriteLine("Possible Answer = " + powDigitCount);

            Console.Read();

        }
        public static ArbitraryLargeUnsignedInt operator +(ArbitraryLargeUnsignedInt left, int right)
        {
            ArbitraryLargeUnsignedInt rightBig = new ArbitraryLargeUnsignedInt(right.ToString());

            return left + rightBig;
        }
        public static ArbitraryLargeUnsignedInt operator +(ArbitraryLargeUnsignedInt left, ArbitraryLargeUnsignedInt right)
        {
            ArbitraryLargeUnsignedInt returnArb = new ArbitraryLargeUnsignedInt();
            
            int max = Math.Max(left.numList.Count, right.numList.Count);

            for(int i =0; i < max; i++)
            {
                if (i >= left.numList.Count)
                {
                    left.numList.Add(0);
                }
                else if (i >= right.numList.Count)
                {
                    right.numList.Add(0);
                }
            }

            int carryDigit = 0;

            for (int i = 0; i < left.numList.Count; i++)
            {
                int sum = left.numList[i] + right.numList[i] + carryDigit;

                returnArb.numList.Add(sum % 10);

                carryDigit = sum / 10;


            }

            if (carryDigit != 0)
                returnArb.numList.Add(carryDigit);

            return returnArb;
        }