728. 自除数

自除数 是指可以被它包含的每一位数除尽的数。

例如,128 是一个自除数,因为 128 % 1 == 0128 % 2 == 0128 % 8 == 0

还有,自除数不允许包含 0 。

给定上边界和下边界数字,输出一个列表,列表的元素是边界(含边界)内所有的自除数。

示例 1:

输入: 
上边界left = 1, 下边界right = 22
输出: [1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 15, 22]

注意:

  • 每个输入参数的边界满足 1 <= left <= right <= 10000

 
 
 1 static const auto __ = []()
 2 {
 3     ios::sync_with_stdio(false);
 4     cin.tie(nullptr);
 5     return nullptr;
 6 }();
 7 
 8 
 9 class Solution {
10 public:
11     vector<int> selfDividingNumbers(int left, int right) {
12         vector<int> ans;
13         
14         for(int i = left; i <= right; i++) {
15             int num = i;
16             if( num % 10 == 0) continue;
17             while(num) {
18                 int  n = num % 10;
19                 
20                 if(n == 0||i % n  ) break;
21                 num /= 10;
22             }
23             if(num == 0)    ans.push_back(i);
24         }
25         return ans;
26     }
27 };

 

posted @ 2018-05-10 23:24  听说这是最长的名字了  阅读(330)  评论(0编辑  收藏  举报