leetcode 728. Self Dividing Numbers

class Solution(object):
    def selfDividingNumbers(self, left, right):
        """
        :type left: int
        :type right: int
        :rtype: List[int]
        """
        output = []
        for i in range(left,right+1):
            if i<10:
                output.append(i)
            elif 10<=i<100:
                ge = i%10
                shi = i//10
                sign = (ge != 0)
                if sign and i%ge==0 and i%shi==0:
                    output.append(i)
            elif 100<=i<1000:
                ge = i % 10
                shi = (i // 10)%10
                bai = i // 100
                sign = (ge!=0)and(shi!=0)
                if sign and i % ge == 0 and i % shi == 0 and i % bai == 0:
                    output.append(i)
            elif 1000<=i<10000:
                ge = i % 10
                shi = (i // 10) % 10
                bai = (i // 100) % 10
                qian = i//1000
                sign = (ge != 0) and (shi != 0) and (bai != 0)
                if sign and i % ge == 0 and i % shi == 0 and i % bai == 0 and i % qian == 0:
                    output.append(i)
        return output
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值