Advertisement
Guest User

Untitled

a guest
Feb 24th, 2018
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.23 KB | None | 0 0
  1. static void Main(string[] args)
  2.         {
  3.             string num1 = Console.ReadLine();
  4.             string num2 = Console.ReadLine();
  5.             Console.WriteLine(SumVeryBigNumbers(num1, num2));
  6.         }
  7. public static string SumVeryBigNumbers(string str1, string str2)
  8.         {
  9.             List<char> ch1 = str1.ToList();
  10.             List<char> ch2 = str2.ToList();
  11.  
  12.            
  13.  
  14.             if (ch1.Count < ch2.Count)
  15.             {
  16.                 int diff = ch2.Count - ch1.Count;
  17.                 for (int i = 0; i < diff; i++)
  18.                 {
  19.                     ch1.Insert(0, '0');
  20.                 }
  21.             }
  22.             else if (ch2.Count < ch1.Count)
  23.             {
  24.                 int diff = ch1.Count - ch2.Count;
  25.                 for (int i = 0; i < diff; i++)
  26.                 {
  27.                     ch2.Insert(0, '0');
  28.                 }
  29.  
  30.             }
  31.             return DoStringAddition(ch1,ch2);
  32.         }
  33.  
  34.         public static string DoStringAddition(List<char> ch1, List<char> ch2)
  35.         {
  36.  
  37.             StringBuilder sb = new StringBuilder();
  38.             int sum = 0;
  39.             for (int i = ch1.Count - 1; i >= 0; i--)
  40.             {
  41.                 sum += int.Parse(ch1[i].ToString()) + int.Parse(ch2[i].ToString());
  42.                 if (sum < 10)
  43.                 {
  44.                     sb.Append(sum);
  45.                     sum = 0;
  46.                 }
  47.                 else
  48.                 {
  49.                     sb.Append(sum % 10);
  50.                     sum /= 10;
  51.                     if (i == 0)
  52.                     {
  53.                         sb.Append(sum);
  54.                     }
  55.                 }
  56.             }
  57.             for (int i = sb.Length - 1; i >= 0; i--)
  58.             {
  59.                 if (!(sb[i].Equals('0')))
  60.                 {
  61.                     break;
  62.                 }
  63.                 else
  64.                     sb.Remove(i,1);
  65.             }
  66.  
  67.             return ReverseString(sb.ToString());
  68.         }
  69. public static string ReverseString(string str)
  70.         {
  71.             StringBuilder sb = new StringBuilder();
  72.             for (int i = str.Length - 1; i >= 0; i--)
  73.             {
  74.                 sb.Append(str[i]);
  75.             }
  76.             return sb.ToString();
  77.         }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement