В текстовом файле записана без ошибок формула вида - 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);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д