002: 自除数

时间:2022-11-19 17:55:51

自除数 是指可以被它包含的每一位数整除的数。

例如,128 是一个 自除数 ,因为 128 % 1 == 0,128 % 2 == 0,128 % 8 == 0。
自除数 不允许包含 0 。

给定两个整数 left 和 right ,返回一个列表,列表的元素是范围 [left, right] 内所有的 自除数 。

链接:https://leetcode.cn/problems/self-dividing-numbers

class Solution(object):
    def selfDividingNumbers(self, left, right):
        """
        :type left: int
        :type right: int
        :rtype: List[int]
        """
        l = []
        for i in range(left, right + 1):
            nums = list(str(i))
            b = True
            for num in nums:
                if int(num) == 0:
                    b = False
                    break
                if i % int(num) != 0:
                    b = False
                    break
            if b:
                l.append(i)
        return l