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
2221 - Cifre 003
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/2221/cifre003] == Cerinţa == Se dă un număr natural '''n'''. Să se afle câte dintre numerele obținute din '''n''' prin ștergerea unei cifre, sunt divizibile cu 3. == Date de intrare == Programul citește de la tastatură numărul '''n'''. == Date de ieşire == Dacă datele introduse sunt corecte, pe ecran se va afișa '''"Datele introduse sunt corecte."''', apoi programul va afișa numărul numerelor obţinute din '''n''' prin ștergerea unei cifre, care sunt divizibile cu 3. În caz contrar, se va afișa pe ecran mesajul '''"Datele introduse nu sunt corecte."'''. == Restricții și precizări == * 1 ⩽ n ⩽2.000.000.000 * dacă '''n''' are o cifră, prin ştergerea unei cifre el devine 0 * dacă prin ştergerea unei cifre numărul rămas începe cu 0, zerourile de la început se elimină == Exemplu == ; Intrare : 23701 ; Ieșire : "Datele introduse sunt corecte." : 2 == Explicație == Prin eliminarea cifrei 1 se obţine numărul 2370 divizibil cu 3, iar prin eliminarea cifrei 7 se obţine 2301 divizibil cu 3. == Rezolvare == <syntaxhighlight lang="python" line> def este_numar_valid(numar): if numar.isdigit() and int(numar) >= 1 and int(numar) <= 2000000000: return True return False def numar_divizibile_cu_3(numar): numere_divizibile_cu_3 = 0 for i in range(len(numar)): cifra = int(numar[i]) numar_fara_cifra = numar[:i] + numar[i + 1:] if int(numar_fara_cifra) % 3 == 0: numere_divizibile_cu_3 += 1 return numere_divizibile_cu_3 if __name__ == '__main__': numar = int(input("Introduceti numarul: ").strip()) if este_numar_valid(numar): print("Datele introduse sunt corecte.") print(numar_divizibile_cu_3(int(numar))) else: print("Datele introduse nu sunt corecte.") </syntaxhighlight> == Explicație rezolvare == Funcția '''este_numar_valid(numar)''' verifică dacă '''numar''' este un număr natural valid, adică este format doar din cifre și este în intervalul [1, 2000000000]. Dacă numărul este valid, funcția returnează '''True''', altfel returnează '''False'''.<br><br>Funcția '''numar_divizibile_cu_3(numar)''' primește ca parametru un număr și determină câte dintre numerele obținute prin ștergerea unei cifre sunt divizibile cu 3. Aceasta folosește o buclă for pentru a itera prin fiecare cifră din numar, elimină cifra curentă și verifică dacă numărul obținut este divizibil cu 3. Dacă acesta este divizibil cu 3, funcția incrementează un contor '''numere_divizibile_cu_3'''. Funcția returnează numărul de numere divizibile cu 3.<br><br>Funcția principală primește un număr de la utilizator folosind funcția input(). Aceasta verifică dacă numărul este valid folosind funcția '''este_numar_valid(numar)'''. Dacă numărul este valid, se afișează un mesaj de confirmare și numărul de numere divizibile cu 3 prin apelul funcției '''numar_divizibile_cu_3(numar)'''. Dacă numărul nu este valid, se afișează un mesaj de eroare.
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