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 | |||
while n > 0: | 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> | </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.")