/// <summary> /// Ham cong 2 chuoi so nguyen /// </summary> /// <param name="integer1">doi tuong co chuoi duoc cong voi chuoi cua doi tuong this</param> /// <returns>tra ve 1 doi tuong moi sau khi da cong 2 chuoi so nguyen</returns> /// <example>12345678 + 12 = 12345690</example> public Integer Sum(Integer integer1) { Integer integer2 = new Integer(); int length = this.CompareSequence(integer1); int remainder = 0; for (int i = length - 1; i >= 0; --i) integer2.sequence.Add(this.SumInteger(integer1, i, ref remainder)); if (remainder == 1) integer2.sequence.Add('1'); this.ReduceSequence(); integer1.ReduceSequence(); return integer2; }
/// <summary> /// Ham Xuat ket qua sau khi cong 2 so nguyen /// </summary> static void Output(Integer integer1, Integer integer2, ref Integer integer3) { string s; if (!integer1.CheckErrorCharacter()) { if (!integer2.CheckErrorCharacter()) { s = integer1.Output() + "," + integer2.Output() + " ko hop le"; Console.WriteLine("{0}", s); Console.ReadKey(); } else { s = integer1.Output() + " ko hop le"; Console.WriteLine("{0}", s); Console.ReadKey(); } } else { if (!integer2.CheckErrorCharacter()) { s = integer2.Output() + " ko hop le"; Console.WriteLine("{0}", s); Console.ReadKey(); } else { integer3 = integer1.Sum(integer2); integer3.InvertSequence(); integer3.ReduceSequence(); Console.Write("Ket qua hien thi la: "); s = integer1.Output() + " +" + integer2.Output() + " =" + integer3.Output(); Console.WriteLine("{0}", s); Console.ReadKey(); } } }