Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Bitnami MediaWiki
Search
Search
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
0338 - Expresie5
Page
Discussion
English
Read
Edit
Edit source
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
Edit source
View history
General
What links here
Related changes
Special pages
Page information
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
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''' ș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 <br> == Exemplul 2 == ; Intrare : 16 ; Ieșire : Datele introduse nu corespund cerințelor. <br> == Exemplul 3 == ; Intrare : 7 ; Ieșire : Datele introduse corespund cerințelor : Rezultatul este 873612 <br> == Rezolvare == <syntaxhighlight lang="python" line> #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 î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.
Summary:
Please note that all contributions to Bitnami MediaWiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Bitnami MediaWiki:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Toggle limited content width