0340 - Control
De la Universitas MediaWiki
sursa: [1]
Explicatii
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
Pentru un număr citit, să se determine cifra de control.
Date de intrare
Programul citește de la tastatură numărul natural.
Date de ieşire
Programul afișează pe ecran numărul C, reprezentând cifra de control a numarului.
Restricții și precizări
- numarul are cel mult nouă cifre
Exemplu
- Intrare
- 865247
- Ieșire
- Datele introduse sunt valide.
- 5
Explicatie
Suma cifrelor lui 865247 este 32, iar suma cifrelor lui 32 este 5.
Rezolvare
Rezolvare ver. 1
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)
Rezolvare ver. 2
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)