Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Bitnami MediaWiki
Search
Search
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
0367 - Eliminare Cifre
Page
Discussion
English
Read
Edit
Edit source
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
Edit source
View history
General
What links here
Related changes
Special pages
Page information
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
Sursa: [https://www.pbinfo.ro/probleme/367/eliminare-cifre] ---- == 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 == === Rezolvare ver. 1 === <syntaxhighlight lang="python" line> def citeste_nr_numere(): nr_de_numere = int(input("Introduceți numărul de numere: ")) while nr_de_numere < 1 or nr_de_numere > 1000: nr_de_numere = int(input("Numărul introdus nu este valid. Introduceți un număr între 1 și 1000: ")) return nr_de_numere def citeste_numar(index): numar = int(input(f"Introduceți numărul {index}: ")) while numar < 0 or numar > 999999: numar = int(input("Numărul introdus nu este valid. Introduceți un număr mai mic sau egal cu 999999: ")) return numar def obtine_ultima_cifra(numar): return numar % 10 def elimina_aparitii_ultima_cifra(numar, ultima_cifra): 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 return numar_fara_ultima_cifra def calculeaza_suma(nr_de_numere): suma = 0 for i in range(nr_de_numere): numar = citeste_numar(i + 1) ultima_cifra = obtine_ultima_cifra(numar) numar_fara_ultima_cifra = elimina_aparitii_ultima_cifra(numar, ultima_cifra) suma += numar_fara_ultima_cifra return suma if __name__ == '__main__': nr_de_numere = citeste_nr_numere() suma = calculeaza_suma(nr_de_numere) print("Datele au fost introduse corect.") print("Suma numerelor obținute prin eliminarea aparițiilor ultimei cifre din fiecare număr este:", suma) </syntaxhighlight> === Rezolvare ver. 2 === <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("Datele au fost introduse corect.") print("Suma numerelor obtinute prin eliminarea aparitiilor ultimei cifre din fiecare numar este:", suma) </syntaxhighlight>
Summary:
Please note that all contributions to Bitnami MediaWiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Bitnami MediaWiki:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Toggle limited content width