撰寫人:Gandolfreddy
while True:
try:
def permutate(nums, i, n):
if i == n:
perms.append(''.join(nums))
else:
for j in range(i, n):
nums[i], nums[j] = nums[j], nums[i]
permutate(nums, i+1, n)
nums[i], nums[j] = nums[j], nums[i]
# input
n = int(input())
# process
nums = list(map(str, range(1, n+1)))
perms = []
permutate(nums, 0, n)
perms.sort(reverse=True)
# output
for perm in perms:
print(perm)
except:
break
itertools.permutations
之解法
from itertools import permutations
while True:
try:
# input
n = int(input())
# process
perms = tuple(permutations(range(1, n+1), n))[::-1]
# output
for perm in perms:
print(''.join(map(str, perm)))
except:
break