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
0021 - Suma cifrelor
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!
==Cerință== Calculaţi suma cifrelor numărului dat. ==Date de intrare== Programul va citi de la tastatură un număr natural. ==Date de ieșire== Dacă datele sunt introduse corect, pe ecran se va afișa: "Datele de intrare corespund restricțiilor impuse." și programul va afişa pe ecran suma cifrelor numărului citit. În caz contrar, se va afișa pe ecran: "Datele de intrare nu corespund restricțiilor impuse." ==Restricții de precizări== * număr < ''' 2.000.000.000''' ==Exemplu== ===Exemplul 1=== ;Intrare :2705 ;Ieșire :Datele introduse corespund restricțiilor impuse. :14 ==Rezolvare== ===Rezolvare ver. 1=== <syntaxhighlight lang="python" line="1" start="1"> def validare(n): return n.isdigit() and 0 <= int(n) < 2_000_000_000 def suma(n): suma = 0 while n > 0: cifra = n % 10 suma += cifra n //= 10 print("Suma cifrelor numarului dat este: ", suma) if __name__ == '__main__': n = input("Introduceti un numar natural: ") if validare(n): n = int(n) print("Datele introduse corespund restricțiilor impuse.") suma(n) else: print("Datele introduse nu corespund restricțiilor impuse.") </syntaxhighlight> ==Explicații== Acest cod este scris în limbajul de programare Python și este împărțit în două funcții principale: '''validare''' și '''suma'''. Funcția '''validare''' verifică dacă inputul primit este un număr natural valid (adica întreg, pozitiv și mai mic decât 2 miliarde), returnând '''True''' dacă inputul este valid și '''False''' în caz contrar. Acest lucru se face verificând mai întâi dacă inputul este format doar din cifre, utilizând metoda '''isdigit()''' pentru string-uri. Apoi, se converteste inputul la un întreg și se verifică dacă este mai mare sau egal cu zero și mai mic decât 2 miliarde. Funcția '''suma''' primește ca input un număr natural și calculează suma cifrelor sale. Acest lucru se realizează utilizând un loop while pentru a extrage cifrele din număr. În fiecare iterație, cifra unităților este obținută prin intermediul operatorului '''modulo (%)''', este adăugată la suma totală, iar numărul este actualizat prin eliminarea cifrei unităților (împărțind la 10 cu operatorul''' //)'''. Acest proces se repetă până când numărul devine zero, ceea ce înseamnă că toate cifrele au fost procesate. În funcția principală '''(main)''', se citește un input de la utilizator și se verifică dacă este un număr natural valid prin apelul funcției '''validare'''. Dacă inputul este valid, se converteste la un întreg și se afișează un mesaj că datele introduse sunt valabile. Apoi, funcția suma este apelată cu inputul și se afișează suma cifrelor. Dacă inputul nu este valid, se afișează un mesaj corespunzător.
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