0996 - Div 3: Diferență între versiuni
De la Universitas MediaWiki
Fără descriere a modificării |
Fără descriere a modificării |
||
Linia 1: | Linia 1: | ||
== Cerință == | == Cerință == | ||
Pe prima linie a fişierului div3.in se află numărul n, iar pe a doua linie n numere naturale. | Pe prima linie a fişierului div3.in se află numărul '''n''', iar pe a doua linie '''n numere naturale'''. | ||
== Date de intrare == | == Date de intrare == | ||
Pe prima linie a fişierului div3.in se află numărul n, iar pe a doua linie n numere naturale. | Pe prima linie a fişierului div3.in se află numărul '''n''', iar pe a doua linie '''n numere naturale'''. | ||
== Date de ieșire == | == Date de ieșire == | ||
Pe prima linie a fişierului div3.out se vor afla elementele şirului dat pentru care suma cifrelor este divizibilă cu 3, separate printr-un spațiu. | Pe prima linie a fişierului div3.out se vor afla elementele şirului dat pentru care suma cifrelor este divizibilă cu 3, separate printr-un spațiu. | ||
== Restricții de precizări == | == Restricții de precizări == | ||
*1 ⩽ n ⩽ 1000 | *1 ⩽ '''n''' ⩽ 1000 | ||
*elementele şirului vor avea cel mult 9 cifre | *elementele şirului vor avea cel mult 9 cifre | ||
== Exemplul 1== | == Exemplul 1== | ||
Linia 23: | Linia 23: | ||
: 12 90 | : 12 90 | ||
== Rezolvare ver. 1 == | == Rezolvare ver. 1 == | ||
<syntaxhighlight lang="python" line="1" start="1"> | |||
def validare(n, numere): | |||
return all.isdigit() and 1 <= int(n), int(numere) <= 1000 | |||
def suma_cifre(n, numere): | |||
suma = 0 | |||
while n > 0: | |||
suma += n % 10 # adăugăm cifra unităţilor la suma cifrelor | |||
n //= 10 # eliminăm cifra unităţilor | |||
return suma | |||
for x in numere: # parcurgem şirul de numere | |||
if suma_cifre(x) % 3 == 0: # verificăm dacă suma cifrelor este divizibilă cu 3 | |||
print(x) # afişăm numărul dacă este divizibil cu 3 | |||
if __name__ == "__main__": | |||
n = int(input()) # citim numărul n | |||
numere = list(map(int, input().split())) # citim şirul de numere | |||
if validare(n, numere): | |||
n = int(n) | |||
numere = int(numere) | |||
print("Datele introduse corespund restricțiilor impuse.") | |||
suma_cifre(n, numere) | |||
else: | |||
print("Datele introduse nu corespund restricțiilor impuse.") | |||
</syntaxhighlight> |
Versiunea de la data 11 aprilie 2023 07:04
Cerință
Pe prima linie a fişierului div3.in se află numărul n, iar pe a doua linie n numere naturale.
Date de intrare
Pe prima linie a fişierului div3.in se află numărul n, iar pe a doua linie n numere naturale.
Date de ieșire
Pe prima linie a fişierului div3.out se vor afla elementele şirului dat pentru care suma cifrelor este divizibilă cu 3, separate printr-un spațiu.
Restricții de precizări
- 1 ⩽ n ⩽ 1000
- elementele şirului vor avea cel mult 9 cifre
Exemplul 1
- Intrare
- 7
- 124 51 231 7 24 31 5
- Ieșire
- Datele introduse corespund restricțiilor impuse.
- 51 231 24
Exemplul 2
- Intrare
- 5
- 12 34 56 78 90
- Ieșire
- Datele introduse corespund restricțiilor impuse.
- 12 90
Rezolvare ver. 1
def validare(n, numere):
return all.isdigit() and 1 <= int(n), int(numere) <= 1000
def suma_cifre(n, numere):
suma = 0
while n > 0:
suma += n % 10 # adăugăm cifra unităţilor la suma cifrelor
n //= 10 # eliminăm cifra unităţilor
return suma
for x in numere: # parcurgem şirul de numere
if suma_cifre(x) % 3 == 0: # verificăm dacă suma cifrelor este divizibilă cu 3
print(x) # afişăm numărul dacă este divizibil cu 3
if __name__ == "__main__":
n = int(input()) # citim numărul n
numere = list(map(int, input().split())) # citim şirul de numere
if validare(n, numere):
n = int(n)
numere = int(numere)
print("Datele introduse corespund restricțiilor impuse.")
suma_cifre(n, numere)
else:
print("Datele introduse nu corespund restricțiilor impuse.")