Example #1
0
        //Bài làm của nhóm 31, gồm 5 thành viên:
        //Nguyễn Quý Danh       09520032
        //Nguyễn Trung Việt     10520649
        //Lưu Nguyễn Hữu Đức    10520210
        //Võ Huỳnh Đức Huy      10520461
        //Đỗ Văn Tuấn           10520312
        static void Main(string[] args)
        {
            string x, y;
            try
            {   //nhập từ cmd
                x = args[0];
                y = args[1];
            }
            catch
            {   //nhập từ chương trình
                x = Console.ReadLine();
                y = Console.ReadLine();
            }

            //nếu có số nhập vào không hợp lệ thì thông báo rồi thoát khỏi chương trình
            if (!Utilities.Test(x, y))
            {
                Console.ReadLine();
                return;
            }

            //khởi tạo hai đối tượnng
            BigInts a = new BigInts(x);
            BigInts b = new BigInts(y);

            //thực hiện phép cộng
            a.Add(b);

            //xuất kết quả ra màn hình
            Console.WriteLine(x + " + " + y + " = " + Utilities.Reverse(a.show()));
            Console.ReadLine();
        }
Example #2
0
 //hàm cộng dồn thêm một số nguyên dương
 public void Add(BigInts x)
 {
     string k = x.d;
     string kq = "";
     int i, n, s, len = (d.Length < k.Length) ? d.Length : k.Length; //len = chiều dài của số nhỏ hơn
     for (i = n = s = 0; i < len; i++)  //n là số dùng để nhớ, s là số dùng để lưu tổng tạm thời
     {
         s = int.Parse(d[i].ToString()) + int.Parse(k[i].ToString()) + n;    //cộng chữ số với nhau và cộng thêm số nhớ
         kq += (s % 10).ToString();
         n = s / 10;
     }
     while (i < d.Length)
     {
         s = int.Parse(d[i].ToString()) + n;    //cộng chữ số với nhau và cộng thêm số nhớ
         kq += (s % 10).ToString();
         n = s / 10;
         i++;
     }
     while (i < k.Length)
     {
         s = int.Parse(k[i].ToString()) + n;    //cộng chữ số với nhau và cộng thêm số nhớ
         kq += (s % 10).ToString();
         n = s / 10;
         i++;
     }
     if (n > 0)
         kq += n.ToString();
     this.d = kq;
 }