0996 - Div 3
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
Dacă datele sunt introduse corect, pe ecran se va afișa: "Datele de intrare corespund restricțiilor impuse." 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. În caz contrar, se va afișa pe ecran: "Datele de intrare nu corespund restricțiilor impuse."
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
<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>