Example #1
0
    public BigInt Add(BigInt val)
    {
        int        carry = 0;
        BigInt     c     = new BigInt(0);
        BigIntList al    = list;
        BigIntList bl    = val.list;
        BigIntList cl    = c.list;

        for (;;)
        {
            cl.n += carry;

            if (al != null)
            {
                cl.n += al.n; al = al.next;
            }
            if (bl != null)
            {
                cl.n += bl.n; bl = bl.next;
            }

            carry = cl.n / 1000000000;
            cl.n %= 1000000000;

            if (al != null || bl != null || carry > 0)
            {
                cl.next = new BigIntList(0);
                cl      = cl.next;
            }
            else
            {
                break;
            }
        }

        return(c);
    }
Example #2
0
 public BigIntList(int n_)
 {
     n    = n_;
     next = null;
 }
Example #3
0
 public BigInt(int n)
 {
     list = new BigIntList(n);
 }