1. 程式人生 > >leetcode自除數

leetcode自除數

自除數 是指可以被它包含的每一位數除盡的數。

例如,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
    class Solution {
    public:
    vector<int> selfDividingNumbers(int left, int right) {
             vector<int>  res;
             int mod;
             int temp;
    
             for(int i=left;i<=right;i++)
             {
                 temp=i;
                 int flag=0;
                 while(temp)
                 {
                     mod=temp%10;
                     if(!mod)
                     {
                     flag = 1;
                     break;
                     }
                     if(i%mod)
                     {
                      flag = 1;
                      break;
                     }
                     temp/=10;
                 }
                 if(!flag)
                     res.push_back(i);
             }
            return res;
         }
    };