0021 - Suma cifrelor: Diferență între versiuni

De la Universitas MediaWiki
Linia 25: Linia 25:
===Rezolvare ver. 1===
===Rezolvare ver. 1===
<syntaxhighlight lang="python" line="1" start="1">
<syntaxhighlight lang="python" line="1" start="1">
def validare(n):
    return n.isdigit() and 0 <= int(n) < 2_000_000_000


n = int(input("Introduceti un numar natural: "))
suma = 0


while n > 0:
def suma(n):
    cifra = n % 10
    suma = 0
    suma += cifra
    while n > 0:
    n //= 10
        cifra = n % 10
 
        suma += cifra
print("Suma cifrelor numarului dat este: ", suma)
        n //= 10


    print("Suma cifrelor numarului dat este: ", suma)




if __name__ == '__main__':
    n = input("Introduceti un numar natural: ")
    if validare(n):
        n = int(n)
        print("Datele introduse corespund restricțiilor impuse.")
        suma(n)
    else:
        print("Datele introduse nu corespund restricțiilor impuse.")
</syntaxhighlight>
</syntaxhighlight>

Versiunea de la data 19 martie 2023 18:02

Cerință

Calculaţi suma cifrelor numărului dat.

Date de intrare

Programul va citi de la tastatură un număr natural.

Date de ieșire

Programul va afişa pe ecran suma cifrelor numărului citit.

Restricții de precizări

  • număr < 2.000.000.000

Exemplu

Exemplul 1

Intrare
2705
Ieșire
14

Rezolvare

Rezolvare ver. 1

def validare(n):
    return n.isdigit() and 0 <= int(n) < 2_000_000_000


def suma(n):
    suma = 0
    while n > 0:
        cifra = n % 10
        suma += cifra
        n //= 10

    print("Suma cifrelor numarului dat este: ", suma)


if __name__ == '__main__':
    n = input("Introduceti un numar natural: ")
    if validare(n):
        n = int(n)
        print("Datele introduse corespund restricțiilor impuse.")
        suma(n)
    else:
        print("Datele introduse nu corespund restricțiilor impuse.")