• [Leetcode]728. Self Dividing Numbers


    Easy

    self-dividing number is a number that is divisible by every digit it contains.

    For example, 128 is a self-dividing number because 128 % 1 == 0128 % 2 == 0, and 128 % 8 == 0.

    Also, a self-dividing number is not allowed to contain the digit zero.

    Given a lower and upper number bound, output a list of every possible self dividing number, including the bounds if possible.

    Example 1:

    Input: 
    left = 1, right = 22
    Output: [1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 15, 22]
    

    Note:

    • The boundaries of each input argument are 1 <= left <= right <= 10000.

    题目大意:自分数字是指,对于数字中的每一位,该数字都能对其整除。并且自分数字中不能包含0。

    现给出一个范围,求出该范围内的所有自分数字。

    这道题只要在这个范围内判断该数字是否为自分数子就好了。判断是否为自分数字就是依次取出这个数字中的各位,然后用原来的数字除以它,判断结果是否为0.

    每一位都要进行判断,同时每一位也要判断是否为0.

    代码如下:

    class Solution {
    public:
        vector<int> selfDividingNumbers(int left, int right) {
            vector<int> res;
            for(int i=left;i<=right;++i){
                int temp=i;
                while(temp/10 != 0){
                    if(temp%10!=0 && i%(temp%10)==0){
                        temp/=10;
                        continue;
                    }
                    else break;
                }
                if(temp/10==0 && i%temp==0){
                    res.push_back(i);
                }
            }
            return res;
        }
    };
  • 相关阅读:
    audio_policy.conf说明(翻译)
    Qt
    linux C
    Linux C
    Linux C
    Qt
    Qt
    JSON
    JSON
    Qt
  • 原文地址:https://www.cnblogs.com/cff2121/p/11425263.html
Copyright © 2020-2023  润新知