s4553711
1/19/2018 - 1:44 PM

728.cpp

class Solution {
public:
    vector<int> selfDividingNumbers(int left, int right) {
        vector<int> res;
        for(int i = left; i <= right; i++) {
            int t = i;
            bool val = true;
            while(t && val) {
                const int r = t % 10;
                //cout << "r: " << r << ", i:" << i << ", i%r" << i%r << endl;
                if (r == 0 || i % r) val = false;
                t /= 10;
            }
            if (val) res.push_back(i);
        }
        return res;
    }
};