В текстовом файле записана без ошибок формула вида - C#
Формулировка задачи:
В текстовом файле записана без ошибок формула вида:
<формула>=<цифра>|p(<формула>,<формула>)|m(<формула>,<формула>)
<цифра>=0|1|2|3|4|5|6|7|8|9
m (a, b) = (a-b) mod 10,
p (a, b) = (a+b) mod 10.
Вычислить значение этой формулы. Например, m (9, p (p (3, 5), m (3, 8))) = 6
помогите пожалуйста, кто может
Решение задачи: «В текстовом файле записана без ошибок формула вида»
textual
Листинг программы
string expr = "m (9, p (p (3, 5), m (3, 8)))"; expr = Regex.Replace(expr, @"\s+", ""); Regex m = new Regex(@"m\((-?\d+),(-?\d+)\)"); Regex p = new Regex(@"p\((-?\d+),(-?\d+)\)"); while(m.IsMatch(expr) || p.IsMatch(expr)) { expr = m.Replace(expr, (Match m1) => ((int.Parse(m1.Groups[1].Value) - int.Parse(m1.Groups[2].Value)) % 10).ToString() ); expr = p.Replace(expr, (Match m1) => ((int.Parse(m1.Groups[1].Value) + int.Parse(m1.Groups[2].Value)) % 10).ToString() ); } Console.WriteLine(expr);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д