Advertisement
Guest User

Untitled

a guest
Jul 17th, 2018
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.52 KB | None | 0 0
  1. def get_len(digit: int):
  2.     count = 0
  3.     while digit != 0:
  4.         digit = digit // 10
  5.         count += 1
  6.     return count
  7.  
  8. def extract_digits(n: int):
  9.     result = list()
  10.     num_len = get_len(n)
  11.     while n > 0:
  12.         temp = n // 10
  13.         digit = n - 10 * temp
  14.         n = temp
  15.         result.append(digit)
  16.     return result
  17.  
  18. def generate(digits, digit_len):
  19.     res = list()
  20.     count_zeroes = 0
  21.     for i in digits:
  22.         if i == 0:
  23.             count_zeroes += 1
  24.     for i in range(1, digit_len):
  25.         for num in digits:
  26.             if num == 0:
  27.                 continue
  28.             else:
  29.                 for num1 in digits:
  30.                     if num == num1:
  31.                         continue
  32.                     else:
  33.                         _count_zeroes = 0
  34.                         _num = num * (10 ** i) + num1
  35.                         for d in extract_digits(_num):
  36.                             if d == 0:
  37.                                 _count_zeroes += 1
  38.                         if num1 == 0 and _count_zeroes > count_zeroes:
  39.                             continue
  40.                         else:
  41.                             if _count_zeroes > count_zeroes:
  42.                                 continue
  43.                             res.append(_num)
  44.     return res
  45.  
  46. def combs(digit: int):
  47.     digit_len = get_len(digit)
  48.     digits = extract_digits(digit)
  49.     res = generate(digits, digit_len)
  50.     print(digits)
  51.     for i in digits:
  52.         if i != 0:
  53.             res.append(i)
  54.     return res
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement