3304 - Doua zeci Doua zeci

De la Universitas MediaWiki

Cerința

Vasilica şi Viorica au primit cadou de la moşul un joc cu n jetoane pe care sunt scrise nişte numere. Cerinţa jocului este să afle dacă se pot alege câteva jetoane astfel încât produsul numerelor să fie 2020.

Date de intrare

Programul citește de la tastatură numărul n, iar apoi n numere naturale, separate prin spații.

Date de ieșire

Programul va afișa pe ecran DA dacă pot fi alese câteva jetoane cu produsul numerelor 2020, sau NU în caz contrar.

Restricții și precizări

  • 1 ≤ n ≤ 100;
  • cele n numere citite vor fi numere naturale mai mici decât 2021;

Exemplul 1

Intrare
5
1 2 2020 3 7
Ieșire
Datele de intrare corespund restricțiilor impuse.
DA

Exemplul 2

Intrare
0
Ieșire
Datele de intrare nu corespund restricțiilor impuse.
NU

Rezolvare

#3304 - Doua zeci Doua zeci
def cauta_produs(numere):
    for i in range(len(numere)): # parcurgem lista numere
        for j in range(i+1, len(numere)): # cautam in continuare numere distincte
            if numere[i] * numere[j] == 2020: # daca gasim o pereche a carei produs este 2020
                return True
    return False

if __name__ == "__main__":  # se verifica daca input-ul este valid, atunci se citeste o lista de 
                            # numere de lungime n si se verifica daca exista o pereche de numere a 
                            # caror produs este 2020, atunci se afiseaza "DA", altfel, "NU"
    n = int(input("Introduceti numarul de jetoane: "))
    if n < 1 or n > 100:
        print("Datele de intrare nu corespund restricțiilor impuse.")
    else:
        print("Datele de intrare corespund restricțiilor impuse.")
        numere = list(map(int, input("Introduceti numerele de pe jeton, separate prin spatiu: ").split()))
        if cauta_produs(numere):
            print("DA")
        else:
            print("NU")