0367 - Eliminare Cifre
Sursa: [1]
Cerinţa
Se dau un numar de numere naturale. Calculaţi suma numerelor obținute prin eliminarea din fiecare număr dat a tuturor aparițiilor ultimei cifre.
Date de intrare
Programul citește de la tastatură numărul, iar apoi acel numar de numere naturale, scrise pe randuri diferite.
Date de ieșire
Programul afișează pe ecran suma.
Restricţii şi precizări
- 1 ≤ n ≤ 1000
- numerele citite vor avea cel mult 6 cifre
Exemplu
- Intrare
- 5
- 27 1131 4 546 112
- Ieșire
- 70
Explicație
În urma eliminării aparițiilor ultimei cifre, numerele devin: 2 3 0 54 11. Suma lor este 70.
Rezolvare
<syntaxhighlight lang="python" line>
- citim numarul de numere n si verificam daca se incadreaza in limitele impuse
nr_de_numere = int(input("Introduceti numarul de numere: ")) while nr_de_numere < 1 or nr_de_numere > 1000:
nr_de_numere = int(input("Numarul introdus nu este valid. Introduceti un numar intre 1 si 1000: "))
- initializam variabila suma cu 0
suma = 0
- iteram prin cele n numere
for i in range(nr_de_numere):
# citim numarul si verificam daca se incadreaza in limitele impuse numar = int(input("Introduceti numarul " + str(i + 1) + ": ")) while numar < 0 or numar > 999999: numar = int(input("Numarul introdus nu este valid. Introduceti un numar mai mic sau egal cu 999999: "))
# obtinem ultima cifra a numarului ultima_cifra = numar % 10
# eliminam toate aparitiile ultimei cifre din numar numar_fara_ultima_cifra = 0 putere = 1 while numar > 0: cifra = numar % 10 numar //= 10 if cifra != ultima_cifra: numar_fara_ultima_cifra += cifra * putere putere *= 10
# adaugam numarul fara ultima cifra la suma totala suma += numar_fara_ultima_cifra
- afisam suma totala
print("Suma numerelor obtinute prin eliminarea aparitiilor ultimei cifre din fiecare numar este:", suma)
</syntaxhighlight>