1503 - Puteri 5: Difference between revisions
Pagină nouă: ==Cerința== Deoarece Ionel nu a înţeles bine ordinea de efectuare a operaţiilor de ridicare la putere, doamna învăţătoare îi dă o tema care să îl ajute să aprofundeze această problemă. Astfel, îi dă mai multe exerciţii de următorul tip: pentru trei cifre nenule <code>a</code>, <code>b</code>, <code>c</code>, el va trebui să calculeze valoarea următoarei expresii: <code>a<sup>b^c</sup>+a<sup>c^b</sup>+b<sup>a^c</sup>+b<sup>c^a</sup>+c<sup>a^b</sup>+c<sup>... |
No edit summary |
||
Line 9: | Line 9: | ||
Fișierul de intrare <code>puteri5.in</code> conține pe prima linie trei cifre <code>a b c</code>, separate prin câte un spaţiu. | Fișierul de intrare <code>puteri5.in</code> conține pe prima linie trei cifre <code>a b c</code>, separate prin câte un spaţiu. | ||
==Date de ieșire== | ==Date de ieșire== | ||
Pe ecran se va afișa mesajul: "Datele de intrare corespund restricțiilor impuse." | |||
Pe următorul rând se va afișa un număr natural ce reprezintă valoarea obţinută pentru expresia precizată anterior. | |||
În cazul în care datele introduse de la tastatură nu îndeplinesc cerințele enunțate, pe ecran se va afișa mesajul "Datele de intrare nu corespund restricțiilor impuse." | |||
==Restricții și precizări== | ==Restricții și precizări== | ||
Line 39: | Line 43: | ||
<syntaxhighlight lang="python" line="1"> | <syntaxhighlight lang="python" line="1"> | ||
#1503 Puteri 5 | #1503 Puteri 5 | ||
def conditii(a, b, c): | def conditii(a, b, c): | ||
return 1 <= min(a, b, c) <= max(a, b, c) <= 5 | return 1 <= min(a, b, c) <= max(a, b, c) <= 5 | ||
Line 58: | Line 64: | ||
if not conditii(a, b, c): | if not conditii(a, b, c): | ||
return print(" | return print("Datele de intrare nu corespund restricțiilor impuse.") | ||
print("Datele de intrare corespund restricțiilor impuse.") | |||
print(expresie(a, b, c)) | print(expresie(a, b, c)) |
Revision as of 10:49, 26 March 2023
Cerința
Deoarece Ionel nu a înţeles bine ordinea de efectuare a operaţiilor de ridicare la putere, doamna învăţătoare îi dă o tema care să îl ajute să aprofundeze această problemă. Astfel, îi dă mai multe exerciţii de următorul tip: pentru trei cifre nenule a
, b
, c
, el va trebui să calculeze valoarea următoarei expresii:
ab^c+ac^b+ba^c+bc^a+ca^b+cb^a
Cunoscând cifrele a
, b
, c
, determinaţi valoarea obţinută în urma efectuării calculelor de mai sus.
Date de intrare
Fișierul de intrare puteri5.in
conține pe prima linie trei cifre a b c
, separate prin câte un spaţiu.
Date de ieșire
Pe ecran se va afișa mesajul: "Datele de intrare corespund restricțiilor impuse."
Pe următorul rând se va afișa un număr natural ce reprezintă valoarea obţinută pentru expresia precizată anterior.
În cazul în care datele introduse de la tastatură nu îndeplinesc cerințele enunțate, pe ecran se va afișa mesajul "Datele de intrare nu corespund restricțiilor impuse."
Restricții și precizări
1 ≤ a,b,c ≤ 5
Exemplu 1
- Intrare
- 2 1 3
- Ieșire
- 24
Explicație
Suntem în cazul 21^3+23^1+12^3+13^2+32^1+31^2=21+23+18+19+32+31=2+8+1+1+9+3=24
Exemplu 2
- Intrare
- 2 3 2
- Ieșire
- 1698
Exemplu 3
- Intrare
- 4, 0, 6
- Ieșire
- Date de intrare gresite!
Rezolvare
<syntaxhighlight lang="python" line="1">
- 1503 Puteri 5
def conditii(a, b, c):
return 1 <= min(a, b, c) <= max(a, b, c) <= 5
def expresie(a, b, c):
return sum([ (a ** (b ** c)), (a ** (c ** b)), (b ** (a ** c)), (b ** (c ** a)), (c ** (a ** b)), (c ** (b ** a)) ])
def main():
a, b, c = [int(x) for x in input().split()]
if not conditii(a, b, c): return print("Datele de intrare nu corespund restricțiilor impuse.") print("Datele de intrare corespund restricțiilor impuse.")
print(expresie(a, b, c))
if __name__ == "__main__":
main()
</syntaxhighlight>