[LeetCode]728. Self Dividing Numbers
题目描述
思路
水题,遍历,每一位计算即可
代码
#include <iostream>
#include <vector>
using namespace std;
class Solution {
public:
bool check(int num) {
int temp = num, dig = 0;
while (temp > 0) {
dig = temp % 10;
if (dig == 0 || num % dig != 0) return false;
temp /= 10;
}
return true;
}
vector<int> selfDividingNumbers(int left, int right) {
vector<int> res;
for (int i = left; i <= right; ++i) {
if(check(i)) res.push_back(i);
}
return res;
}
};
int main() {
Solution s;
vector<int> res = s.selfDividingNumbers(1, 22);
for (int num : res) cout << num << " ";
cout << endl;
system("pause");
return 0;
}
本文介绍了一种解决LeetCode上自除数数字问题的方法。通过遍历指定范围内的每一个整数,检查该数是否为自除数数字,并将符合条件的数字收集到一个列表中返回。自除数数字是指可以被其所有位数整除的数字,且每位数字不为0。
383

被折叠的 条评论
为什么被折叠?



