0943 - Sumă4: Difference between revisions

From Bitnami MediaWiki
Dragos1234 (talk | contribs)
Dragos1234 (talk | contribs)
Line 27: Line 27:
; Ieșire
; Ieșire
: Valoarea lui '''n''' trebuie sa fie intre '''1 si 1.000.000.000'''.
: Valoarea lui '''n''' trebuie sa fie intre '''1 si 1.000.000.000'''.
<br>
== Exemplul 3 ==
; Intrare
: 7
; Ieșire
: Datele corespund cerințelor.
: 25401600
<br>
<br>



Revision as of 15:14, 25 March 2023

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
Introduceti numarul n: 4
Ieșire
Ultima cifra a sumei este: 4


Exemplul 2

Intrare
Introduceti numarul n: 0
Ieșire
Valoarea lui n trebuie sa fie intre 1 si 1.000.000.000.


Rezolvare

<syntaxhighlight lang="python" line>

  1. 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)


</syntaxhighlight>