0338 - Expresie5

De la Universitas MediaWiki
Versiunea din 18 martie 2023 14:14, autor: Dragos1234 (discuție | contribuții) (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ă...)
(dif) ← Versiunea anterioară | Versiunea curentă (dif) | Versiunea următoare → (dif)

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, unde S reprezintă suma calculată, în caz contrar programul va afișa "Datele introduse nu corespund cerintelor."

Restricţii şi precizări

  • 0 < n ⩽ 15

Exemplul 1

Intrare
4
Ieșire
Rezultatul este 288


Exemplul 2

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


Exemplul 3

Intrare
7
Ieșire
Rezultatul este 873612


Rezolvare

#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("Rezultatul este", S)