Задача 5: Все перестановки заданной длины
Условие задачи:
По данному числу N выведите все перестановки чисел от \(1\) до \(N\) в лексикографическом порядке.
Входные данные:
Задано 1 число: \(N (0<N<10)\).
Выходные данные:
Необходимо вывести все перестановки чисел от \(1\) до \(N\) в лексикографическом порядке. Перестановки выводятся по одной в строке, числа в перестановке выводятся без пробелов.
Решение:
import sys
sys.setrecursionlimit(10 ** 9)
n = int(input())
rez = [0 for _ in range(n)]
used = [False for _ in range(n)]
def f(i):
global rez
if i == n:
print(*rez, sep="")
return
for j in range(1, n + 1):
if not used[j - 1]:
used[j - 1] = True
rez[i] = j
f(i + 1)
used[j - 1] = False
f(0)
У вас включен блокировщик рекламы. Пожалуйста, выключите его чтобы увидеть решения. На этом сайте не так много рекламы, а кушать что-то надо. Вот котик
Пожалуйста, подождите загрузки решения