public static void Main(string[] args) { string input = "4511263156549903003502425944020621017624018923015950620210037836734253630^200".Replace(" ", "").Replace("(", "").Replace(")", ""); #region ifs if (input.Contains("^")) { string[] numbers = input.Split('^'); if (numbers.Length <= 1) { Console.WriteLine("Слишком мало чисел"); return; } VeryLong number = new VeryLong(numbers[0]); for (int i = 1; i < numbers.Length; i++) { number = VeryLong.Pow(number, new VeryLong(numbers[i])); } Console.WriteLine(number.ToString()); } else if (input.Contains("/") || input.Contains(":")) { string[] numbers; if (input.Contains("/")) { numbers = input.Split('/'); } else { numbers = input.Split(':'); } if (numbers.Length <= 1) { Console.WriteLine("Слишком мало чисел"); return; } VeryLong number = new VeryLong(numbers[0]); for (int i = 1; i < numbers.Length; i++) { number /= new VeryLong(numbers[i]); } Console.WriteLine(number.ToString()); } else if (input.Contains("*")) { string[] numbers = input.Split('*'); if (numbers.Length <= 1) { Console.WriteLine("Слишком мало чисел"); return; } VeryLong number = new VeryLong(numbers[0]); for (int i = 1; i < numbers.Length; i++) { number *= new VeryLong(numbers[i]); } Console.WriteLine(number.ToString()); } #endregion else if (input.Contains("+")) { string[] numbers = input.Split('+'); if (numbers.Length <= 1) { Console.WriteLine("Слишком мало чисел"); return; } VeryLong number = new VeryLong(numbers[0]); for (int i = 1; i < numbers.Length; i++) { number += new VeryLong(numbers[i]); } Console.WriteLine(number.ToString()); } else if (input.Contains("-")) { List <string> numbers = new List <string>(input.Replace("--", "ё").Split("-".ToCharArray())); for (int i = 0; i < numbers.Count; i++) { if (numbers[i].Contains("ё")) { numbers.InsertRange(i, numbers[i].Split('ё')); numbers.RemoveAt(i + 2); i++; numbers[i] = "-" + numbers[i]; } } if (numbers.Count <= 1) { Console.WriteLine("Слишком мало чисел"); return; } for (int i = 0; i < numbers.Count - 1; i++) { if (numbers[i] == "") { numbers[i + 1].Insert(0, "-"); numbers.RemoveAt(i); i--; } } VeryLong number = new VeryLong(numbers[0]); for (int i = 1; i < numbers.Count; i++) { number -= new VeryLong(numbers[i]); } Console.WriteLine(number.ToString()); } }