列表

详情


728. 自除数

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

自除数 不允许包含 0 。

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

 

示例 1:

输入:left = 1, right = 22
输出:[1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 15, 22]

示例 2:

输入:left = 47, right = 85
输出:[48,55,66,77]

 

提示:

相似题目

完美数

原站题解

去查看

上次编辑到这里,代码来自缓存 点击恢复默认模板
class Solution { public: vector<int> selfDividingNumbers(int left, int right) { } };

golang 解法, 执行用时: 0 ms, 内存消耗: 2 MB, 提交时间: 2021-06-09 17:58:15

func selfDividingNumbers(left int, right int) []int {
    var ans []int
    for i := left; i <= right; i++ {
        if bb(i) {
            ans = append(ans, i)
        }
    }
    return ans
}

func bb(k int) bool {
    if k == 0 {
        return false
    }
    m := k
    for k != 0 {
        if k % 10 == 0 ||  m % (k%10) != 0 {
            return false
        }
        k /= 10
    }
    return true
}

上一题