0350 - Produs Cartezian: Difference between revisions
Sinn Erich (talk | contribs) |
Sinn Erich (talk | contribs) |
||
Line 20: | Line 20: | ||
== Exemplul 1 == | == Exemplul 1 == | ||
; Intrare | ; Intrare | ||
: | : 3 2 | ||
; Ieșire | ; Ieșire | ||
: | : {(1,1),(1,2),(2,1),(2,2),(3,1),(3,2)} | ||
<br> | <br> | ||
== Rezolvare == | == Rezolvare == |
Revision as of 11:12, 3 April 2023
Sursa: [1]
Cerinţa
Se dau două numere naturale nenule n și m. Pentru mulțimile A={1,2,..,n} și B={1,2,...,m}, să se afișeze mulțimea A×B={(a,b) | a∈A, b∈B} – produsul cartezian al mulțimilor A și B.
Date de intrare
Programul citește de la tastatură numerele n și m.
Date de ieșire
Programul afișează pe ecran mulțimea cerută astfel:
elementele mulțimii vor fi scrise între acolade și separate prin virgule fiecare element este o pereche de numere, care va fi scrisă între paranteze rotunde, numerele din pereche fiind separate prin virgulă mai întâi se vor scrie perechile (a,b) pentru care a=1, cu b în ordine crescătoare, apoi perechile pentru care a=2 cu b în ordine crescătoare, etc, ca în exemplu.
Dacă datele sunt introduse corect, programul va rula.
În cazul în care datele nu respectă restricțiile, se va afișa pe ecran: "Datele nu corespund restricțiilor impuse.".
Restricţii şi precizări
1 ≤ n,m ≤ 10
Exemplul 1
- Intrare
- 3 2
- Ieșire
- {(1,1),(1,2),(2,1),(2,2),(3,1),(3,2)}
Rezolvare
<syntaxhighlight lang="python" line>
- 4273
def patrate_perfecte(n):
patrate = [] i = 1 while len(patrate) < n: patrat = i * i patrate.append(patrat) i += 1 return patrate
def calculeaza(numbers):
product = 1 for number in numbers: product *= number return product
def validare_numar(n):
if n < 1 or n > 10: return False return True
if __name__ == '__main__':
n = int(input("Introduceți numărul n: ")) if not validare_numar(n): print("Datele introduse nu corespund cerintelor.") else: squares = patrate_perfecte(n) product = calculeaza(squares) print("Datele introduse corespund cerintelor.") print(product)
</syntaxhighlight>