3247 - subimp1: Difference between revisions
Pagină nouă: = Cerința = Se citește un număr natural <code>n</code>. Afișați în ordine lexicografică toate submulțimile mulțimii <code>{1, 2, ..., n}</code> care sunt formate dintr-un număr impar de elemente. = Date de intrare = Programul citește de la tastatură numărul <code>n</code>. = Date de ieșire = Programul va afișa pe ecran submulțimile cerute, câte una pe fiecare rand și având elementele separate prin câte un spaţiu. În cazul în care restricțiile nu sunt... |
|||
Line 25: | Line 25: | ||
4 | 4 | ||
= Exemplul | = Exemplul 2 = | ||
Intrare | Intrare | ||
66 | |||
consola | consola | ||
Nu corespunde restricțiilor | |||
== Rezolvare == | == Rezolvare == |
Latest revision as of 19:49, 9 December 2023
Cerința[edit | edit source]
Se citește un număr natural n
. Afișați în ordine lexicografică toate submulțimile mulțimii {1, 2, ..., n}
care sunt formate dintr-un număr impar de elemente.
Date de intrare[edit | edit source]
Programul citește de la tastatură numărul n
.
Date de ieșire[edit | edit source]
Programul va afișa pe ecran submulțimile cerute, câte una pe fiecare rand și având elementele separate prin câte un spaţiu. În cazul în care restricțiile nu sunt îndeplinite, se va afișa mesajul "Nu corespunde restricțiilor".
Restricții și precizări[edit | edit source]
1 ≤ n ≤ 19
Exemplul 1[edit | edit source]
Intrare
4
Ieșire
1 1 2 3 1 2 4 1 3 4 2 2 3 4 3 4
Exemplul 2[edit | edit source]
Intrare
66
consola
Nu corespunde restricțiilor
Rezolvare[edit | edit source]
<syntaxhighlight lang="python3" line="1"> def verifica_restricții(n):
return 1 <= n <= 19
def generare_submultimi(curent, start, end, rezultat):
if start > end: return
for i in range(start, end + 1): curent.append(i) rezultat.append(list(curent)) generare_submultimi(curent, i + 1, end, rezultat) curent.pop()
def afisare_submultimi_impare(n):
# Verificare restricții folosind funcția separată if verifica_restricții(n): submultimi = [] generare_submultimi([], 1, n, submultimi)
print("Submulțimile cu un număr impar de elemente:") for submultime in submultimi: if len(submultime) % 2 == 1: print(*submultime) else: print("Nu corespunde restricțiilor.")
- Citirea datelor de intrare
try:
n = int(input("Introduceți un număr natural n: ")) afisare_submultimi_impare(n)
except ValueError:
print("Introduceți un număr valid.")
</syntaxhighlight>