0943 - Sumă4: Diferență între versiuni
De la Universitas MediaWiki
Linia 13: | Linia 13: | ||
== Restricţii şi precizări == | == Restricţii şi precizări == | ||
* | * 1 ⩽ '''n''' ⩽ 1.000.000.000 | ||
== Exemplul 1 == | == Exemplul 1 == |
Versiunea de la data 25 martie 2023 15:12
Sursa: [1]
Cerinţa
Se dă n un număr natural nenul. Să se afle ultima cifră a sumei: S=1^4 + 2^4 + 3^4 + ... + n^4.
Date de intrare
Programul citește de la tastatură numărul n.
Date de ieșire
Acest program calculează ultima cifră a sumei valorilor la puterea a patra a numerelor naturale de la 1 la n și o afișează la consolă.
Dacă valoarea introdusă de utilizator pentru n este în afara intervalului [1, 1.000.000.000], se va afișa un mesaj de eroare. În caz contrar, se va afișa ultima cifră a sumei calculată prin apelarea funcției afiseaza_ultima_cifra_suma(n).
Restricţii şi precizări
- 1 ⩽ n ⩽ 1.000.000.000
Exemplul 1
- Intrare
- 4
- Ieșire
- Datele corespund cerințelor.
- 576
Exemplul 2
- Intrare
- 16
- Ieșire
- Datele introduse nu corespund cerințelor.
Exemplul 3
- Intrare
- 7
- Ieșire
- Datele corespund cerințelor.
- 25401600
Rezolvare
#4273
def patrate_perfecte(n):
patrate = []
i = 1
while len(patrate) < n:
patrat = i * i
patrate.append(patrat)
i += 1
return patrate
def calculeaza(numbers):
product = 1
for number in numbers:
product *= number
return product
def validare_numar(n):
if n < 1 or n > 10:
return False
return True
if __name__ == '__main__':
n = int(input("Introduceți numărul n: "))
if not validare_numar(n):
print("Datele introduse nu corespund cerintelor.")
else:
squares = patrate_perfecte(n)
product = calculeaza(squares)
print("Datele introduse corespund cerintelor.")
print(product)