Считая, что в этих строках находятся очень длинные числа, сформируйте третью строку- сумму этих чисел. - C#
Формулировка задачи:
Вот сама задача: Даны две символьные строки, состоящие только из цифр (длина каждой более 10 символов). Считая, что в этих строках находятся очень длинные числа, сформируйте третью строку- сумму этих чисел.
P.S. считает лишь маленькое значение чисел, а по условию задачи у меня должно быть введено число больше 10 значений, но постоянно вылазит ошибка..
Console.WriteLine("Введите первое число"); string S1 = Console.ReadLine(); int a = int.Parse(S1); Console.WriteLine("Введите второе число"); string S2 = Console.ReadLine(); int b = int.Parse(S2); int c = a + b; Console.WriteLine(a.ToString() + " + " + b.ToString() + " = " + c.ToString()); Console.ReadLine();
Решение задачи: «Считая, что в этих строках находятся очень длинные числа, сформируйте третью строку- сумму этих чисел.»
textual
Листинг программы
public static string Add(string a, string b) { //делаем строки одинаковой длины, добавляя в начало короткой нужное количество нулей if (a.Length < b.Length) a = new string('0', b.Length - a.Length) + a; if (a.Length > b.Length) b = new string('0', a.Length - b.Length) + b; //объявляем строку суммы string sumStr = string.Empty; //sumDigits - сумма соответствующих разрядов числа //over - остаток, т.е. единица, переходящая в рязряд, если сумма предыдущих разрядов числа >=10 int over = 0, sumDigits; //перебираем символы от последнего к первому for (int i = a.Length - 1; i >= 0; i--) { //сумма соответствующих разрядов числа + остаток от предыдущей суммы sumDigits = int.Parse(a[i].ToString()) + int.Parse(b[i].ToString()) + over; //к строке суммы спереди добавляем количество единиц в sumDigits sumStr = sumDigits % 10 + sumStr; //а количество десятков идет в остаток over = sumDigits / 10; } //если сумма старших разрядов >=10, то к сумме спереди добавляем 1 if (over > 0) sumStr = "1" + sumStr; //возвращаем строку суммы return sumStr; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д