Advertisement
Guest User

Pandigitals

a guest
Mar 29th, 2015
251
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.56 KB | None | 0 0
  1. def fact(n):
  2.     if n == 1:
  3.         return n
  4.     else: return fact(n - 1) * n
  5.    
  6. def listtoint(n):
  7.     n = ''.join(list(map(str, n)))
  8.     return int(n)
  9.  
  10. def NextPermutation(p):
  11.     i = len(p) - 2
  12.     while i >= 0 and p[i] > p[i + 1]:
  13.         i -= 1
  14.     if i < 0:
  15.         p[:] = []
  16.         return
  17.     j = len(p) - 1
  18.     while p[j] < p[i]:
  19.         j -= 1
  20.     p[i], p[j] = p[j], p[i]
  21.     p[i + 1:] = p[:i:-1]
  22.  
  23. n = input()
  24. s = list(n)
  25. x = int(n)
  26. for i in range(fact(len(n))):
  27.     NextPermutation(s)
  28.     if s != []:
  29.         x += listtoint(s)
  30. print(x)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement