0340 - Control
sursa: [1]
Explicatii[edit | edit source]
Pentru un număr natural dat, se calculează cifra de control în felul următor:
- se determină suma cifrelor
- pentru rezultat se determină suma cifrelor
- se continuă până când suma devine un număr dintr-o singură cifră, aceasta fiind cifra de control a numărului inițial
Cerinţa[edit | edit source]
Pentru un număr citit, să se determine cifra de control.
Date de intrare[edit | edit source]
Programul citește de la tastatură numărul natural.
Date de ieşire[edit | edit source]
Programul afișează pe ecran numărul C, reprezentând cifra de control a numarului.
Restricții și precizări[edit | edit source]
- numarul are cel mult nouă cifre
Exemplu[edit | edit source]
- Intrare
- 865247
- Ieșire
- Datele introduse sunt valide.
- 5
Explicatie[edit | edit source]
Suma cifrelor lui 865247 este 32, iar suma cifrelor lui 32 este 5.
Rezolvare[edit | edit source]
Rezolvare ver. 1[edit | edit source]
<syntaxhighlight lang="python" line>
def calculeaza_cifra_control(numar):
# Validare date de intrare if numar < 0 or numar > 999999999: print("Datele introduse nu sunt valide. Introduceti un numar natural cu cel mult nouă cifre.") else: # Calculam cifra de control while numar > 9: suma = 0 while numar > 0: cifra = numar % 10 suma += cifra numar //= 10 numar = suma cifra_control = numar print("Datele introduse sunt valide.") # Afisam cifra de control print("Cifra de control a numarului este", cifra_control)
if __name__ == "__main__":
numar = int(input("Introduceti un numar natural: ")) calculeaza_cifra_control(numar)
</syntaxhighlight>
Rezolvare ver. 2[edit | edit source]
<syntaxhighlight lang="python" line>
numar = int(input("Introduceti un numar natural: "))
- Validare date de intrare
if numar <= 0 or numar > 999999999:
print("Datele introduse nu sunt valide. Introduceti un numar natural cu cel mult nouă cifre.")
else:
# Calculam cifra de control while numar > 9: suma = 0 while numar > 0: cifra = numar % 10 suma += cifra numar = numar // 10 numar = suma cifra_control = numar print("Datele introduse sunt valide.") # Afisam cifra de control print("Cifra de control a numarului este", cifra_control)
</syntaxhighlight>