0162 - PermCirc
Sursa: PermCirc
Cerinţă
Se dă un vector cu n
elemente numere naturale. Determinați toate permutările circulare spre stânga ale vectorului.
Date de intrare
Programul citește de la tastatură numărul n
, iar apoi n
numere naturale, separate prin spaţii, reprezentând elementele vectorului.
Date de ieșire
Programul afișează pe ecran, fiecare pe câte o linie, permutările circulare spre stânga ale vectorului, elementele fiecărei permutări fiind separate printr-un spațiu
Restricţii şi precizări
- 0 < n < 16
- elementele vectorului vor fi cuprinse între
-1000
și1000
Exemple
Exemplul 1
- Intrare
- 3
- 1 2 3
- Ieșire
- 1 2 3 2 3 1 3 1 2
Exemplul 2
- Intrare
- 1231
- Ieșire
- Numărul de elemente trebuie să fie între 1 și 15.
Rezolvare
<syntaxhighlight lang="python" line="1"> def introducere_vector():
while True: try: n = int(input("Introduceți numărul de elemente din vector: ")) if n < 1 or n > 15: print("Numărul de elemente trebuie să fie între 1 și 15.") else: break except ValueError: print("Introduceți un număr întreg.")
while True: try: vector = list(map(int, input(f"Introduceți {n} elem separate prin spațiu:").split())) if len(vector) != n: print(f"Introduceți exact {n} elemente.") elif any(x < -1000 or x > 1000 for x in vector): print("Elementele trebuie să fie între -1000 și 1000.") else: return vector except ValueError: print("Introduceți numere întregi.")
def permutari_circulare(vector):
for i in range(len(vector)): permutare = vector[i:] + vector[:i] print(*permutare)
if __name__ == '__main__':
vector = introducere_vector() permutari_circulare(vector)
</syntaxhighlight>