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
0370 - Sum Div K
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/370/sumdivk] ---- == Cerinţa == Se dau două numere naturale k și n și apoi n numere naturale. Calculaţi suma celor care au suma cifrelor divizibilă cu k. == Date de intrare == Programul citește de la tastatură numerele k și n, iar apoi n numere naturale, separate prin spaţii. == Date de ieșire == Programul afișează pe ecran numărul S, reprezentând rezultatul cerut. == Restricţii şi precizări == * 1 ≤ n ≤ 100 * 1 ≤ k ≤ 10 * cele n numere citite vor avea cel mult 7 cifre == Exemplu == ; Intrare : 3 5 : 480 725 72 1698 56 ; Ieșire : 2250 == Explicație == Sunt 3 numere pentru care suma cifrelor se divide cu 3. Acestea sunt: 480 72 1698, iar suma lor este 2250. == Rezolvare == === Rezolvare ver. 1 === <syntaxhighlight lang="python" line> def citeste_k_n(): while True: try: k = int(input("Introduceti k: ")) # citim k-ul de la tastatura n = int(input("Introduceti n: ")) # citim numarul de elemente de la tastatura if k < 1 or k > 10 or n < 1 or n > 100: # validam k-ul si n raise ValueError("k trebuie sa fie intre 1 si 10, iar n trebuie sa fie intre 1 si 100") return k, n except ValueError as e: print(e) def valideaza_numar(numar): if numar < 0 or numar > 9999999: # validam numarul raise ValueError("Numarul trebuie sa fie pozitiv si sa aiba cel mult 7 cifre") def calculeaza_suma_cifrelor_divizibile(k, n): suma = 0 # initializam suma cu 0 for i in range(n): while True: try: numar = int(input(f"Introduceti numarul {i+1}: ")) # citim numarul de la tastatura valideaza_numar(numar) break # iesim din while daca am introdus un numar valid except ValueError as e: print(e) # afisam mesajul de eroare if sum(int(digit) for digit in str(numar)) % k == 0: # verificam daca suma cifrelor este divizibila cu k suma += numar # adaugam numarul la suma return suma if __name__ == '__main__': k, n = citeste_k_n() suma = calculeaza_suma_cifrelor_divizibile(k, n) print("Suma este:", suma) </syntaxhighlight> === Rezolvare ver. 2 === <syntaxhighlight lang="python" line> # citirea k-ului si a numarului de elemente while True: try: k = int(input("Introduceti k: ")) # citim k-ul de la tastatura n = int(input("Introduceti n: ")) # citim numarul de elemente de la tastatura if k < 1 or k > 10 or n < 1 or n > 100: # validam k-ul si n raise ValueError("k trebuie sa fie intre 1 si 10, iar n trebuie sa fie intre 1 si 100") break # iesim din while daca am introdus valori valide pentru k si n except ValueError as e: print(e) # afisam mesajul de eroare # citirea si suma elementelor suma = 0 # initializam suma cu 0 for i in range(n): while True: try: x = int(input(f"Introduceti numarul {i+1}: ")) # citim numarul de la tastatura if x < 0 or x > 9999999: # validam numarul raise ValueError("Numarul trebuie sa fie pozitiv si sa aiba cel mult 7 cifre") break # iesim din while daca am introdus un numar valid except ValueError as e: print(e) # afisam mesajul de eroare if sum(int(digit) for digit in str(x)) % k == 0: # verificam daca suma cifrelor este divizibila cu k suma += x # adaugam numarul la suma # afisarea sumei print("Suma este:", suma) # afisam suma rezultata </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