0338 - Expresie5: Difference between revisions

From Bitnami MediaWiki
Dragos1234 (talk | contribs)
Pagină nouă: Sursa: [https://www.pbinfo.ro/probleme/338/expresie5] == 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, unde S reprezintă suma calculată, în caz contrar programul va afișa "Datele introduse nu corespund cerintelor." == Restricţii şi preciză...
 
Dragos1234 (talk | contribs)
 
(9 intermediate revisions by 2 users not shown)
Line 5: Line 5:
Programul citește de la tastatură numărul '''n'''.
Programul citește de la tastatură numărul '''n'''.
== Date de ieșire ==  
== Date de ieșire ==  
Programul afișează pe ecran mesajul Rezultatul este S, unde S reprezintă suma calculată, în caz contrar programul va afișa "Datele introduse nu corespund cerintelor."
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 ==
== Restricţii şi precizări ==
Line 14: Line 14:
: 4
: 4
; Ieșire
; Ieșire
: Datele introduse corespund cerințelor
: Rezultatul este 288
: Rezultatul este 288
<br>
<br>
== Exemplul 2 ==
== Exemplul 2 ==
; Intrare
; Intrare
Line 26: Line 28:
: 7
: 7
; Ieșire
; Ieșire
: Datele introduse corespund cerințelor
: Rezultatul este 873612
: Rezultatul este 873612
<br>
<br>
== Rezolvare ==  
== Rezolvare ==  
<syntaxhighlight lang="python" line>
<syntaxhighlight lang="python" line>
Line 36: Line 40:
         suma += i**i
         suma += i**i
     return suma
     return suma


def validare_numar(n):
def validare_numar(n):
Line 43: Line 48:
     else:
     else:
         return True
         return True


if __name__ == '__main__':
if __name__ == '__main__':
Line 48: Line 54:
     if validare_numar(n):
     if validare_numar(n):
         S = calculeaza_suma_puterilor(n)
         S = calculeaza_suma_puterilor(n)
        print("Datele introduse corespund cerintelor.")
         print("Rezultatul este", S)
         print("Rezultatul este", S)


</syntaxhighlight>
== Explicatie rezolvare ==
Acest program calculează suma puterilor de i la puterea i pentru un număr întreg n dat de utilizator.


</syntaxhighlight>
Funcția validare_numar(n) este definită pentru a verifica dacă numărul introdus este valid. Aceasta returnează False și afișează un mesaj de eroare dacă numărul este mai mic sau egal cu zero sau mai mare decât 15. În caz contrar, returnează True, semn că numărul este valid și programul poate continua cu calcularea sumei puterilor.
 
Funcția calculeaza_suma_puterilor(n) primește numărul n și calculează suma puterilor de la 1 la n, folosind o buclă for și operatorul de ridicare la putere **. Inițial, variabila suma este setată la zero. Apoi, pentru fiecare valoare între 1 și n inclusiv, se calculează puterea i la puterea i și se adaugă la suma totală.
 
În secțiunea principală a programului, se cere utilizatorului să introducă numărul n. Apoi se verifică dacă numărul introdus este valid folosind funcția validare_numar(n). Dacă numărul este valid, se calculează suma puterilor folosind funcția calculeaza_suma_puterilor(n) și se afișează pe ecran împreună cu un mesaj de confirmare a validării numărului introdus.
 
În general, acest program poate fi folosit pentru a calcula suma puterilor de i la puterea i pentru un anumit număr întreg n. El poate fi util în probleme de matematică și în alte aplicații în care trebuie să se calculeze astfel de sume.

Latest revision as of 13:06, 9 April 2023

Sursa: [1]

Cerinţa[edit]

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[edit]

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

Date de ieșire[edit]

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[edit]

  • 0 < n ⩽ 15

Exemplul 1[edit]

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


Exemplul 2[edit]

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


Exemplul 3[edit]

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


Rezolvare[edit]

<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[edit]

Acest program calculează suma puterilor de i la puterea i pentru un număr întreg n dat de utilizator.

Funcția validare_numar(n) este definită pentru a verifica dacă numărul introdus este valid. Aceasta returnează False și afișează un mesaj de eroare dacă numărul este mai mic sau egal cu zero sau mai mare decât 15. În caz contrar, returnează True, semn că numărul este valid și programul poate continua cu calcularea sumei puterilor.

Funcția calculeaza_suma_puterilor(n) primește numărul n și calculează suma puterilor de la 1 la n, folosind o buclă for și operatorul de ridicare la putere **. Inițial, variabila suma este setată la zero. Apoi, pentru fiecare valoare între 1 și n inclusiv, se calculează puterea i la puterea i și se adaugă la suma totală.

În secțiunea principală a programului, se cere utilizatorului să introducă numărul n. Apoi se verifică dacă numărul introdus este valid folosind funcția validare_numar(n). Dacă numărul este valid, se calculează suma puterilor folosind funcția calculeaza_suma_puterilor(n) și se afișează pe ecran împreună cu un mesaj de confirmare a validării numărului introdus.

În general, acest program poate fi folosit pentru a calcula suma puterilor de i la puterea i pentru un anumit număr întreg n. El poate fi util în probleme de matematică și în alte aplicații în care trebuie să se calculeze astfel de sume.