Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def get_len(digit: int):
- count = 0
- while digit != 0:
- digit = digit // 10
- count += 1
- return count
- def extract_digits(n: int):
- result = list()
- num_len = get_len(n)
- while n > 0:
- temp = n // 10
- digit = n - 10 * temp
- n = temp
- result.append(digit)
- return result
- def generate(digits, digit_len):
- res = list()
- count_zeroes = 0
- for i in digits:
- if i == 0:
- count_zeroes += 1
- for i in range(1, digit_len):
- for num in digits:
- if num == 0:
- continue
- else:
- for num1 in digits:
- if num == num1:
- continue
- else:
- _count_zeroes = 0
- _num = num * (10 ** i) + num1
- for d in extract_digits(_num):
- if d == 0:
- _count_zeroes += 1
- if num1 == 0 and _count_zeroes > count_zeroes:
- continue
- else:
- if _count_zeroes > count_zeroes:
- continue
- res.append(_num)
- return res
- def combs(digit: int):
- digit_len = get_len(digit)
- digits = extract_digits(digit)
- res = generate(digits, digit_len)
- print(digits)
- for i in digits:
- if i != 0:
- res.append(i)
- return res
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement