Try   HackMD

a524 手機之謎 - Python 參考解答

撰寫人: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