【算法题】想要算2的68次方-1分解质因数,写到一半后面的卡住了

只写出来了计算2的68次方-1的方法,分解质因数想用穷举,并且理论可以尝试(longint值上限/10)以下的质因数,但当数据再扩大,即一个大数对一个大数求余时我就写不出来了。问一下这个问题是不是无解的,如果是那我就别折腾了,如果不是那给点提示。

//写的是C#,但不一定非要C#,算法问题,讨论算法就行了
//下面是怎么得到2的68次方-1的方法
using System;

namespace _9._9大数计算
{
    class Program
    {
        static void Main(string[] args)
        {
            int[] Num = new int[30];
            Num = Get2_68();

        }
        static int[] Get2_68()
        {
            int[] a = new int[30];
            bool Plus = false;//是否进位参数
            a[0] = 2;

            for (int i = 1; i <= 68; i++)
            {
                for (int j = 29; j >= 0; j--)
                {
                    Console.Write(a[j]);
                }
                Console.WriteLine("                    {0}", i);
                for (int j = 0; j < 30; j++)
                {
                    a[j] = a[j] * 2;
                    if (Plus)
                    {
                        a[j]++;
                        Plus = false;
                    }
                    if (a[j] >= 10 && a[j] < 20)
                    {
                        a[j] = a[j] % 10;
                        Plus = true;
                    }
                }
            }
            if (a[0] > 0)
            {
                a[0]--;
            }
            else if (a[0] < 0)
            {
                Console.WriteLine("这tmd算的什么玩意?a[0]都能小于0喽???");
            }
            return a;
        }
    }
}

a的返回值应该是最后一行的哪个再-1
图片说明

https://zhidao.baidu.com/question/1452500336809851460.html