zoukankan      html  css  js  c++  java
  • [LeetCode] Self Dividing Numbers

    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不能是除数。

    然后在主函数中,循环添加符合要求的自分数。

    class Solution {
    public:
        vector<int> selfDividingNumbers(int left, int right) {
            vector<int> res;
            for (int i = left; i <= right; i++) {
                if (isSelfDividingNumbers(i))
                    res.push_back(i);
            }
            return res;
        }
        bool isSelfDividingNumbers(int num) {
            int tmp = num, digit = 0;
            while (tmp) {
                digit = tmp % 10;
                if (digit == 0 || num % digit != 0)
                    return false;
                tmp /= 10;
            }
            return true;
        }
    };
    // 3 ms
  • 相关阅读:
    [svc]linux启动过程及级别
    [svc]linux紧急情况处理
    [100]shell中exec解析
    [100]第一波命令及总结
    [100]find&xargs命令
    [svc]nginx优化
    hbase总结:如何监控region的性能
    hbase集群 常用维护命令
    navicat 导入sql文件乱码问题解决
    ue标签不见了,如何解决?
  • 原文地址:https://www.cnblogs.com/immjc/p/7865488.html
Copyright © 2011-2022 走看看