跳到主要内容

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);
}
};