0021 - Suma cifrelor: Difference between revisions

From Bitnami MediaWiki
Line 25: Line 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>

Revision as of 18:02, 19 March 2023

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

<syntaxhighlight lang="python" line="1" start="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.")

</syntaxhighlight>