一个数字整除数是指一个可以被其中包含的每个数字整除的数.
举个例子, 128是一个数字整除数, 因为 128 % 1 == 0, 128 % 2 == 0, and 128 % 8 == 0.
并且, 数字整除数不允许包含数字 0.
给出数字取值的上下限, 输出一个包含所有数字整除数的列表, 包括边界.
样例
样例1
输入: left = 1, right = 22
输出: [1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 15, 22]
样例2
输入: left = 7, right = 22
输出: [7, 8, 9, 11, 12, 15, 22]
注意事项
0<=L<=R<=2^31-1,R-L<=10^6
class Solution {
public:
/**
* @param lower: Integer : lower bound
* @param upper: Integer : upper bound
* @return: a list of every possible Digit Divide Numbers
*/
vector<int> digitDivideNums(int lower, int upper) {
// write your code here
vector<int>res;
for (long long i = lower; i <=upper ; i++) {
int tmp=i;
while(tmp)
{
if(tmp%10==0||i%(tmp%10)!=0) break;
else tmp/=10;
}
if(tmp==0) res.push_back(i);
}
return res;
}
};