.campion
conectare | înregistrare | căutare
Pagina principală » Probleme » azeval

ultima problemă
grupă: mică
sursă: OMI 2016
ultimul articol
autor: Prof. Radu Vişinescu
ultimul software
autor: Prof. Emanuela Cerchez
 .campion
azeval


Timp maxim de execuţie/test:
0.1 secunde
Memorie totală disponibilă/stivă:
4MB/2 MB

Se consideră o expresie aritmetică formată din literele mici ale alfabetului, operatorii binari +, –, *, /, %, ^ şi parantezele rotunde. Operanzii, literele mici, au implicit următoarele valori: a=0, b=1, c=2, ..., z=25. Considerând că x şi y sunt doi operanzi oarecare, operatorii au următoarele semnificaţii:

Operator

Semnificaţie

Expresie

Calcul efectiv

Exemple

+

adunare

x + y

= (x+y) mod 26

e + h = (5 + 8) mod 26 = 13 = m
p + r = (16 + 18) mod 26 = 34 mod 26=8 = h

scădere

x – y

= x – y, dacă x >= y
= x – y + 26, dacă x < y

d – b = 3 – 1 = 2 = c
p – r = (16 – 18) + 26 = 24 = x

*

înmulţire

x * y

= (x * y) mod 26

p * r = (16 * 18) mod 26 = 2 = c

/

div

x / y

= x div y, dacă y > 0
= z (adică 25), dacă y=0

r / e = 18 div 5 = 3 = d
r / a = z (pentru că a=0)

%

mod

x % y

= x mod y, dacă y > 0
= a (adică 0), dacă y=0

r % e = 18 mod 5 = 3 = d
r % a = a (pentru că a=0)

^

ridicare la putere

x ^ y

= a, dacă x = 0
= (x*y) mod 26, dacă x>0

c^d = 23 mod 26 = 8 mod 26 = 8 = h
a^c = 0^2 = 0 = a


Prioritatea operatorilor: se evaluează mai întâi expresiile cuprinse între paranteze rotunde, apoi ridicarea la putere. Urmează operatorii *, /, % cu aceeaşi prioritate, iar + şi – sunt cele mai puţin prioritare.

Cerinţă

Dându-se 3 expresii, să se evalueze fiecare.

Date de intrare

Fişierul azeval.in conţine exact 3 linii. Pe fiecare linie se găseşte câte o expresie.

Date de ieşire

Fişierul azeval.out va conţine exact 3 linii, pe fiecare linie aflându-se o singură literă mică reprezentând rezultatul evaluării unei expresii.

Restricţii

  • orice expresie este corectă şi conţine doar litere mici, paranteze rotunde şi operatorii specificaţi
  • o expresie nu va avea mai mult de 250 de caractere
  • Într-o expresie în care prioritatea operatorilor este aceeaşi, evaluarea se face de la stânga la dreapta; de exemplu, p^q^t este echivalentă cu (p^q)^t, iar r/e*g%d este echivalentă cu ((r/e)*g)%d
  • Expresia a^a este considerată ca fiind egală tot cu a
  • Expresiile nu conţin operatori unari, deci nu există subexpresii de forma +e sau –e.
  • 10% din teste nu vor conţine paranteze; alte 20% din teste vor conţine doar operatorii + şi –; alte 20% din teste nu vor conţine operatorul ^.
  • Pentru a obţine punctajul la un test trebuie ca răspunsurile la toate cele 3 expresii să fie corecte

Exemplu

azeval.in azeval.out Explicaţii
e-(t+q)%(d-p)
c+(k+n)^z
(i-(t+w))^e^m^n
v
z
b
Pentru prima expresie:
e–(t+q)%(d-p)= 4-(19+16)%(4-15)=
= 4–9%14 = 4–9 = 21 = v
prof. Dan Pracsiu
Liceul "Ştefan Procopiu" Vaslui
dpracsiu@yahoo.com
prof. Adrian Panaete
Colegiul National „A. T. Laurian” Botoşani
acpanaete@yahoo.com
propunător: Prof. Emanuela Cerchez
emanuela.cerchez@gmail.com
Articole recomandate
Probleme recomandate
De la XOR 2013: divider, eliminare, minm, genab, grafxy, matd3, matrixdel, speed
De acelaşi autor: cai, rebus, harta, comun, axa, sir, ocean14, reduceri, div3, patrate6, vot, reziduu, accesibil, predecesor, permutari, scanduri, ordonare, xor1, paltrei, triunghi1, 123, traseu1, parbit, petrecere, secvbiti, subm, triunghi3, cmmdcsecv, drumuri1, fillmat, secvb, siruri3, acces, segmente, echilibru1, broscute, ksecv, paisprezece, proddiv, perechi2, expeval, maxtri, combcuv, dfs, qtri, blis, maxbin, probleme, divider, eliminare, minm, genab, grafxy, matd3, matrixdel, speed, maxp, split, binremove, sminus, subsets, tcif, sprime, sir2dif, ecp, arbsum, robotzi, permtr, unudoi, matcnt, ssdj, dominant
Despre şiruri de caractere: scp, ab, sl, nrcuv, rv, kpal, chimie, reteta, replace, grad, index, cod, text, decript, spam, complex, cifre, anagrame, balbe, criptmat, mesaj, maxim, astre, sablon, formule, ed, balls, vocale, prop, bacan, novel, bitslang, text2, ref, scor2, convert, cod2, compress, pstring, sub, rima, program1, sms, circular, randuri, cezar, bifo, joc9, pal, bare, joc12, fractie, cod3, tunel, csir, top, ratina, cifru1, limbaj, adun, ecuatii, dir, paritate, virus, sir6, mesaj2, text1, sirul, ogorul, rez, sablon1, anag, sir8, seti, secvsir, dp, cuvant, strings, antipatie, fractie1, links, ordonare, text3, concat, codif, cheie, alfabetar, cuvinte2, comp, litere, mxl, mesaj3, expresie2, grad2, antic, zuma, expeval, combcuv, lgdrum, subtitrare, compresie, zigzag, fraze, subsecvente, showroom, rebus1, agenda, opmult, betisoare, reziston, clase, vot2, ecp, smiley, charlie, cript, scadere, spioni1, sablon3, expand, culori3, virgule
Despre stiva: sl, teren, reactii, complex, auto, bile3, chimie2, vile, puncte1, masina3, matrice1, dir, stiva, munte2, perle, basm, predecesor, expresie1, telecab, expresie2, liste, intervale, jocs, expeval, copaci2, plus, unific, swap, stiva1, ecp, charlie
Chestionare recomandate
surse trimise | ajutor