0996 - Div 3
De la Universitas MediaWiki
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.")