0514 - Sort PIE: Difference between revisions
Adina Timiș (talk | contribs) Pagină nouă: ==Cerința== Se dă un vector cu n elemente, numere naturale. Afișați în ordine descrescătoare valorile din vector care sunt prime cu ultimul element al vectorului. ==Date de intrare== Programul citește de la tastatură numărul n, iar apoi n numere naturale, reprezentând elementele vectorului. ==Date de ieșire== Programul va afișa pe ecran valorile cerute, în ordine descrescătoare, separate prin exact un spațiu. ==Restricții și precizări== *1 ≤ n ≤ 1000... |
Adina Timiș (talk | contribs) No edit summary |
||
Line 50: | Line 50: | ||
print(a[i], end=' ') | print(a[i], end=' ') | ||
else: | else: | ||
print("Datele de intrare nu corespund restricțiilor impuse.") | print("Datele de intrare nu corespund restricțiilor impuse.") | ||
if __name__ == '__main__': | if __name__ == '__main__': | ||
# apelam functia | |||
sort() | sort() | ||
</syntaxhighlight> | </syntaxhighlight> |
Latest revision as of 10:28, 21 May 2023
Cerința[edit | edit source]
Se dă un vector cu n elemente, numere naturale. Afișați în ordine descrescătoare valorile din vector care sunt prime cu ultimul element al vectorului.
Date de intrare[edit | edit source]
Programul citește de la tastatură numărul n, iar apoi n numere naturale, reprezentând elementele vectorului.
Date de ieșire[edit | edit source]
Programul va afișa pe ecran valorile cerute, în ordine descrescătoare, separate prin exact un spațiu.
Restricții și precizări[edit | edit source]
- 1 ≤ n ≤ 1000;
- cele n numere citite vor fi mai mici decât 1.000.000.000;
Exemplul 1[edit | edit source]
- Intrare
- 8
- 16 7 6 3 1 5 9 14
- Ieșire
- Datele de intrare corespund restricțiilor impuse.
- 9 5 3 1
Exemplul 2[edit | edit source]
- Intrare
- 0
- 0
- Ieșire
- Datele de intrare nu corespund restricțiilor impuse.
Rezolvare[edit | edit source]
<syntaxhighlight lang="python" line="1">
- 0514 - Sort PIE
def sort():
# citim numarul de elemente din sir, dar si vectorul de la tastatura n = int(input()) a = list(map(int, input().split()))
# sortam sirul in ordine descrescatoare for i in range(n - 2): for j in range(i + 1, n - 1): if a[i] < a[j]: a[i], a[j] = a[j], a[i]
# verificam restrictiile if 1 <= n <= 1000 and max(a) < 1000000000: print("Datele de intrare corespund restricțiilor impuse.") # parcurgem fiecare element din sir si verificam daca este prim for i in range(n - 1): x = a[i] y = a[-1] while y: r = x % y x = y y = r if x == 1: print(a[i], end=' ') else: print("Datele de intrare nu corespund restricțiilor impuse.")
if __name__ == '__main__':
# apelam functia sort()
</syntaxhighlight>