Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- static void Main(string[] args)
- {
- string num1 = Console.ReadLine();
- string num2 = Console.ReadLine();
- Console.WriteLine(SumVeryBigNumbers(num1, num2));
- }
- public static string SumVeryBigNumbers(string str1, string str2)
- {
- List<char> ch1 = str1.ToList();
- List<char> ch2 = str2.ToList();
- if (ch1.Count < ch2.Count)
- {
- int diff = ch2.Count - ch1.Count;
- for (int i = 0; i < diff; i++)
- {
- ch1.Insert(0, '0');
- }
- }
- else if (ch2.Count < ch1.Count)
- {
- int diff = ch1.Count - ch2.Count;
- for (int i = 0; i < diff; i++)
- {
- ch2.Insert(0, '0');
- }
- }
- return DoStringAddition(ch1,ch2);
- }
- public static string DoStringAddition(List<char> ch1, List<char> ch2)
- {
- StringBuilder sb = new StringBuilder();
- int sum = 0;
- for (int i = ch1.Count - 1; i >= 0; i--)
- {
- sum += int.Parse(ch1[i].ToString()) + int.Parse(ch2[i].ToString());
- if (sum < 10)
- {
- sb.Append(sum);
- sum = 0;
- }
- else
- {
- sb.Append(sum % 10);
- sum /= 10;
- if (i == 0)
- {
- sb.Append(sum);
- }
- }
- }
- for (int i = sb.Length - 1; i >= 0; i--)
- {
- if (!(sb[i].Equals('0')))
- {
- break;
- }
- else
- sb.Remove(i,1);
- }
- return ReverseString(sb.ToString());
- }
- public static string ReverseString(string str)
- {
- StringBuilder sb = new StringBuilder();
- for (int i = str.Length - 1; i >= 0; i--)
- {
- sb.Append(str[i]);
- }
- return sb.ToString();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement