0943 - Sumă4: Diferență între versiuni

De la Universitas MediaWiki
Linia 7: Linia 7:


== Date de ieșire ==  
== Date de ieșire ==  
Datele de intrare corespund restrictiilor impuse, apoi pe un rand nou va afișa valoarea cerută. În caz contrar, se va afișa mesajul:" Datele de intrare nu corespund restrictiilor impuse
Datele de intrare corespund restrictiilor impuse, apoi pe un rand nou va afișa valoarea cerută. În caz contrar, se va afișa mesajul: "Datele de intrare nu corespund restrictiilor impuse".


== Restricţii şi precizări ==
== Restricţii şi precizări ==

Versiunea de la data 26 martie 2023 15:23

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

Datele de intrare corespund restrictiilor impuse, apoi pe un rand nou va afișa valoarea cerută. În caz contrar, se va afișa mesajul: "Datele de intrare nu corespund restrictiilor impuse".

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

#0943
def ultima_cifra_putere_patru(numar):
    ultimele_cifre = [0, 1, 6, 1, 6, 5, 6, 1, 6, 1] # lista cu ultimele cifre pentru fiecare numar la puterea 4
    ultima_cifra = ultimele_cifre[numar % 10] # ultima cifra a lui numar la puterea 4
    return ultima_cifra


def calculeaza_suma(n):
    suma_ultimele_cifre = 0
    for i in range(1, n+1):
        ultima_cifra_termen = ultima_cifra_putere_patru(i)
        suma_ultimele_cifre += ultima_cifra_termen
    return suma_ultimele_cifre


def afiseaza_ultima_cifra_suma(n):
    if n < 1 or n > 1000000000:
        print("Valoarea lui n trebuie sa fie intre 1 si 1.000.000.000.")
    else:
        ultima_cifra_suma = calculeaza_suma(n) % 10
        print("Ultima cifra a sumei este:", ultima_cifra_suma)


if __name__ == '__main__':
    # apelam functia afiseaza_ultima_cifra_suma cu argumentul n dat de utilizator
    n = int(input("Introduceti numarul n: "))
    afiseaza_ultima_cifra_suma(n)