Lista de probleme 1

Filtrare

Definim o expresie ca fiind un șir de caractere e care respectă una dintre următoarele:

  • e = "x";
  • e reprezintă un număr natural (constantă); (ex. e ∊ {"1", "2"; "200"; ...})
  • e = "[e1,e2]" sau e = "(e1,e2)", unde e1, e2 sunt (sub-)expresii. Aici, (•, •) semnifică cel mai mare
    divizor comun a două numere, iar [•,•] semnifică cel mai mic multiplu comun a două numere. De exemplu, avem că (6, 8) = 2, [6, 8] = 24.

Dându-se o expresie e și două numere naturale a, b, să se calculeze eval(e, a) + eval(e, a+1) + ... + eval(e, b). Rezultatul se va afișa modulo 1.000.000.007.

ONSEPI, 2021, clasa a X-a