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

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

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

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

示例 1:

  1. 输入:
  2. 上边界left = 1, 下边界right = 22
  3. 输出: [1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 15, 22]
  1. class Solution {
    public List<Integer> selfDividingNumbers(int left, int right) {
  2.  
  3. List<Integer> list = new ArrayList<Integer>();
    for(int i = left;i<right+1;i++){
    if(0<i && i<10){
    list.add(i);
    }
    if(10<=i && i<100){
    int a = i % 10;
    int b = i /10 % 10;
    if(a != 0 && b!=0){
    if(i % a ==0 && i%b ==0){
    list.add(i);
    }
    }
  4.  
  5. }
    if(99<i && i<1000){
    int a = i % 10;
    int b = i /10 % 10;
    int c = i /100 % 10;
    if(a != 0 && b!=0 &&c!=0){
    if(i % a ==0 && i % b ==0 && i% c ==0){
    list.add(i);
    }
    }
  6.  
  7. }
    if(999<i && i<=10000){
    int a = i % 10;
    int b = i/10 % 10;
    int c = i/100 % 10;
    int d = i/1000 % 10;
    if(a != 0 && b!=0 &&c!=0 &&d!=0){
    if(i % a ==0 && i % b ==0 && i% c ==0 && i%d==0){
    list.add(i);
    }
    }
  8.  
  9. }
    }
    return list;
    }
    }
  10.  
  11. /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    解法二
  1. class Solution {
  2. private boolean isDividing(int num){
  3. int tmp=num;
  4. while(tmp!=0){
  5. if(tmp%10==0) return false;
  6. if(num%(tmp%10)!=0) return false;
  7. else tmp/=10;
  8. }
  9. return true;
  10. }
  11. public List<Integer> selfDividingNumbers(int left, int right) {
  12. List<Integer> intlist=new ArrayList<Integer>();
  13. for(int i=left;i<=right;i++){
  14. if(isDividing(i)==true) intlist.add(i);
  15. }
  16. return intlist;
  17. }
  18. }

LeetCode728. 自除数的更多相关文章

  1. [Swift]LeetCode728. 自除数 | Self Dividing Numbers

    A self-dividing number is a number that is divisible by every digit it contains. For example, 128 is ...

  2. Leetcode728.Self Dividing Numbers自除数

    自除数 是指可以被它包含的每一位数除尽的数. 例如,128 是一个自除数,因为 128 % 1 == 0,128 % 2 == 0,128 % 8 == 0. 还有,自除数不允许包含 0 . 给定上边 ...

  3. C# 刷遍 Leetcode 面试题系列连载(3): No.728 - 自除数

    前文传送门: C#刷遍Leetcode面试题系列连载(1) - 入门与工具简介 C#刷遍Leetcode面试题系列连载(2): No.38 - 报数 系列教程索引 传送门:https://enjoy2 ...

  4. java语言中除数为零问题

    在以下几个例子中,输出结果如何? float aa=0; System.out.println(aa/0); System.out.println(1/aa); System.out.println( ...

  5. sql server中除数为零的处理技巧

    在sql server中做除法处理的时候,我们经常需要处理除数为零的情况,因为如果遇到这种情况的时候,sqlserver会抛出遇到以零作除数错误的异常,我们总不希望把这个异常显示给用户吧. 做个会报这 ...

  6. Hdu 1452 Happy 2004(除数和函数,快速幂乘(模),乘法逆元)

    Problem Description Considera positive integer X,and let S be the sum of all positive integer diviso ...

  7. 成本卷积报错:CSTPSCEX.explode_sc_cost_flags():40:ORA-01476: 除数为 0

    成本卷积请求:供应链成本累计 - 打印报表 运行后报一下错误: MSG-00000: Rollup ID = 236403MSG-00000: Before CSTPSCEX.supply_chain ...

  8. js使用栈来实现10进制转8进制 js取除数 余数

    function ten2eight(x){ var s=[]; var r=''; while(x>0){ s.push(x%8); x=parseInt(x/8); } while(s.le ...

  9. nest exception is java.sql.SQLException:ORA-01476:除数为0

    1.错误描述 nest exception is java.sql.SQLException:ORA-01476:除数为0 2.错误原因 3.解决办法

随机推荐

  1. USACO Training3.1联系【排序终极题目】By cellur925

    题目传送门 这题我们很容易想到直接枚举即可.算法本身并没有什么难度但是细节超多!于是这题整整卡了一天....... (不,还是我太弱了.) 期间还暴露出一些平时没有特别注意的问题,这次一起解决. 开始 ...

  2. 51Nod 1174 区间中最大的数(RMQ)

    #include <iostream> #include <algorithm> #include <cstring> using namespace std; + ...

  3. Android SDK Manager 无法下载Android8.1.0(API 27) SDK Platform

    在Android SDK Manager 中安装Android 8.1.0 SDK Platform时报错导致无法安装. 错误信息:Downloading SDK Platform Android 8 ...

  4. 1-10super和this关键字

    什么是super? super代表的是当前子类对象中的父类型特征. 什么时候使用super? 子类和父类中都有某个数据,例如,子类和父类中都有name这个属性.如果要再子类中访问父类中的name属性, ...

  5. solr 包地址

    http://archive.apache.org/dist/lucene/solr/6.3.0/

  6. 【Laravel】 常用命令

    自动创建项目 laravel new || laravel new xxx || composer create-project --prefer-dist laravel/laravel blog ...

  7. 【转】Android进程机制

    以下资料摘录整理自老罗的Android之旅博客,是对老罗的博客关于Android底层原理的一个抽象的知识概括总结(如有错误欢迎指出)(侵删):http://blog.csdn.net/luosheng ...

  8. sys模块详解

    1.sys.argv argv是「argument variable」参数变量的简写形式,一般在命令行调用的时候由系统传递给程序.这个变量其实是一个List,argv[0] 一般是“被调用的脚本文件名 ...

  9. 混合开发之DCloud和Weex的集成及优缺点比较

    记录此文时太忙,没时间整理上来.需要请私信,由于DCloud和Weex的版本及API更新过快,本次分享只是对某个版本处理.

  10. 6 Specialzed layers 特殊层 第二部分 读书笔记

    CAGradientLayer   CAGradientLayer is used to generate a smooth gradient between two or more colors. ...