首页 > 其他 > 详细

[Leetcode]728. Self Dividing Numbers

时间:2019-08-28 18:29:46      阅读:87      评论:0      收藏:0      [点我收藏+]

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;
    }
};

 

[Leetcode]728. Self Dividing Numbers

原文:https://www.cnblogs.com/cff2121/p/11425263.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!