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.")