0338 - Expresie5: Difference between revisions

From Bitnami MediaWiki
Dragos1234 (talk | contribs)
No edit summary
Dragos1234 (talk | contribs)
Line 60: Line 60:


== Explicatie rezolvare ==
== Explicatie rezolvare ==
Acest program calculează suma puterilor de i la puterea i pentru un număr n dat. Mai întâi, se verifică dacă numărul introdus este valid (între 1 și 15, inclusiv), apoi se calculează suma puterilor folosind o buclă for și operatorul ** pentru a calcula puterile. Rezultatul este returnat și afișat pe ecran împreună cu un mesaj de confirmare a validării numărului introdus.

Revision as of 13:05, 9 April 2023

Sursa: [1]

Cerinţa

Să se scrie un program care citește numărul natural n și determină suma S=1^1+2^2+ ... + n^n.

Date de intrare

Programul citește de la tastatură numărul n.

Date de ieșire

Programul afișează pe ecran, mesajul Rezultatul este S și pe o linie nouă mesajul "Datele introduse corespund cerințelor", unde S reprezintă suma calculată, în caz contrar programul va afișa pe o linie nouă "Datele introduse nu corespund cerintelor."

Restricţii şi precizări

  • 0 < n ⩽ 15

Exemplul 1

Intrare
4
Ieșire
Datele introduse corespund cerințelor
Rezultatul este 288


Exemplul 2

Intrare
16
Ieșire
Datele introduse nu corespund cerințelor.


Exemplul 3

Intrare
7
Ieșire
Datele introduse corespund cerințelor
Rezultatul este 873612


Rezolvare

<syntaxhighlight lang="python" line>

  1. 0338

def calculeaza_suma_puterilor(n):

   suma = 0
   for i in range(1, n+1):
       suma += i**i
   return suma


def validare_numar(n):

   if n <= 0 or n > 15:
       print("Datele introduse nu corespund cerintelor.")
       return False
   else:
       return True


if __name__ == '__main__':

   n = int(input("Introduceti numarul n: "))
   if validare_numar(n):
       S = calculeaza_suma_puterilor(n)
       print("Datele introduse corespund cerintelor.")
       print("Rezultatul este", S)

</syntaxhighlight>

Explicatie rezolvare

Acest program calculează suma puterilor de i la puterea i pentru un număr n dat. Mai întâi, se verifică dacă numărul introdus este valid (între 1 și 15, inclusiv), apoi se calculează suma puterilor folosind o buclă for și operatorul ** pentru a calcula puterile. Rezultatul este returnat și afișat pe ecran împreună cu un mesaj de confirmare a validării numărului introdus.