В текстовом файле записана без ошибок формула вида - 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);

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4.077 из 5
Похожие ответы