# a524 手機之謎 - Python 參考解答 撰寫人:Gandolfreddy ## 題目來源 * [a524: 手機之謎](https://zerojudge.tw/ShowProblem?problemid=a524) ## 參考程式碼解答 * 遞迴解法 ```python= 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``` 之解法 ```python= 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 ```