728.自除数
链接:728.自除数
难度:Easy
标签:数学
简介:给定两个整数 left 和 right ,返回一个列表,列表的元素是范围 [left, right] 内所有的 自除数 。
题解 1 - cpp
- 编辑时间:2022-03-17
- 内存消耗:6.8MB
- 编程语言:cpp
- 解法介绍:遍历。
class Solution {
   public:
    vector<int> selfDividingNumbers(int left, int right) {
        vector<int> ans;
        ans.reserve(1e4);
        for (int num = left; num <= right; num++) check(ans, num);
        return ans;
    }
    void check(vector<int> &ans, int num) {
        int tmp = num;
        for (; tmp; tmp /= 10) {
            if (tmp % 10 == 0) return;
            if (num % (tmp % 10) != 0) return;
        }
        ans.push_back(num);
    }
};