1. 程式人生 > >leetcode 728. 自除數(python)

leetcode 728. 自除數(python)

自除數 是指可以被它包含的每一位數除盡的數。

例如,128 是一個自除數,因為 128 % 1 == 0128 % 2 == 0128 % 8 == 0

還有,自除數不允許包含 0 。

給定上邊界和下邊界數字,輸出一個列表,列表的元素是邊界(含邊界)內所有的自除數。

示例 1:

輸入: 
上邊界left = 1, 下邊界right = 22
輸出: [1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 15, 22]

注意:

  • 每個輸入引數的邊界滿足 1 <= left <= right <= 10000
class Solution:
    def selfDividingNumbers(self, left, right):
        def isdivid(num):
            list1 = list(str(num))
            if '0' in list1: return False
            for item in list1:
                if num % int(item) != 0:
                    return False
            return True
        if left > right: return []
        res = []
        for i in range(left,right+1):
            if isdivid(i): res.append(i)
        return res