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