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
4227 - Cif Tr
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!
Sursă: [https://www.pbinfo.ro/probleme/4227/cif-tr] == Cerinţa == Când adunăm două cifre '''cifra1''' și '''cifra2''', obținem transport dacă '''cifra1''' + '''cifra2''' ≥ 10. Când adunăm două numere naturale, se poate obține chiar de mai multe ori transport. De exemplu, dacă adunăm 538 și 726, atunci obținem de două ori transport, prima oară când adunăm cifrele unităților, 8 + 6, a doua oară când adunăm cifrele sutelor, 5 + 7. <br><br> Se dau două numere naturale '''n''' și '''m''' care au același număr de cifre. Să se afișeze mesajul NU dacă adunând cele două numere cifră cu cifră nu obținem niciodată transport, sau mesajul DA, dacă obținem măcar o dată transport. == Date de intrare == Programul citește de la tastatură numerele '''n''' și '''m'''. == Date de ieşire == Dacă datele introduse sunt corecte, pe ecran se va afișa '''"Datele introduse sunt corecte."''', apoi programul va afișa mesajul '''NU''' dacă adunând cele două numere cifră cu cifră nu obținem niciodată transport, sau mesajul '''DA''', dacă obținem măcar o dată transport. În caz contrar, se va afișa pe ecran mesajul '''"Datele introduse nu sunt corecte."'''. == Restricții și precizări == * ''' 1 ⩽ n, m ⩽ 1.000.000.000 * numerele '''n''' și '''m''' au același număr de cifre == Exemplu == ; Intrare : 538 726 ; Ieșire : Datele introduse sunt corecte. : DA <br> ; Intrare : 1234 8765 ; Ieșire : Datele introduse sunt corecte. : NU == Rezolvare == <syntaxhighlight lang="python" line> #4227 def verifica_date(numar1, numar2): if len(numar1) != len(numar2) or not numar1.isdigit() or not numar2.isdigit(): print("Datele introduse nu sunt corecte.") return False print("Datele introduse sunt corecte.") return True def are_transport(numar1, numar2): for i in range(len(numar1)): suma = int(numar1[i]) + int(numar2[i]) if suma >= 10: return True return False if __name__ == "__main__": numar1 = int(input("Introduceti primul numar: ")) numar2 = int(input("Introduceti al doilea numar: ")) if verifica_date(numar1, numar2): if are_transport(numar1, numar2): print("DA") else: print("NU") </syntaxhighlight> == Explicație rezolvare == Funcția '''verifica_date''' primește două argumente, '''numar1''' și '''numar2''', și verifică dacă acestea au aceeași lungime și dacă fiecare cifră din cele două numere este un număr întreg. Dacă aceste condiții sunt îndeplinite, funcția afișează "Datele introduse sunt corecte." și returnează valoarea True, în caz contrar, afișează "Datele introduse nu sunt corecte." și returnează valoarea False.<br><br>Funcția '''are_transport''' primește, de asemenea, două argumente, '''numar1''' și '''numar2''', și verifică dacă există cel puțin un transport atunci când cele două numere sunt adunate cifră cu cifră. Pentru aceasta, funcția parcurge cifră cu cifră cele două numere și calculează suma. Dacă suma este mai mare sau egală cu 10, funcția returnează valoarea '''True''', altfel returnează valoarea '''False'''.<br><br>În final, funcția '''main''' primește două valori de la utilizator prin intermediul funcției '''input''', apelează funcția '''verifica_date''' pentru a verifica corectitudinea datelor, iar dacă acestea sunt corecte, apelează funcția '''are_transport''' pentru a verifica dacă există un transport în timpul adunării. În funcție de rezultatul obținut, programul afișează '''DA''' dacă există cel puțin un transport și '''NU''' dacă nu există niciun transport.
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