0514 - Sort PIE
De la Universitas MediaWiki
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;
- cele n numere citite vor fi mai mici decât 1.000.000.000;
Exemplul 1
- 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
- Intrare
- 0
- 0
- Ieșire
- Datele de intrare nu corespund restricțiilor impuse.
Rezolvare
#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()