• 12.<Important> Self Dividing Number


    Title:

     A 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 == 0, 128 % 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.

    Analysis of Title:

    1.Is Dividing-Number:128%1==0,128%2==0,128%8==0

    2.Not Dividing-Number:

      number don't include zero,such as 120.

      128%1!=0

    The second method is easier to implement.

    Python:

    class Solution(object):
      def selfDividingNumbers(self, left, right):
      """
      :type left: int
      :type right: int
      :rtype: List[int]
      """
      res=[]
      for i in range(left,right+1):
        for j in str(i):
          if j=='0' or i % int(j)!=0:
            break
        else:
          res.append(i)
      return res

    Analysis of Code:

    1.

    for:

      exp

    else:

      exp

    When every for finish,the else will execute.

    2.

    for:

      break

    else:

      exp

    when break,the else will not execute.

  • 相关阅读:
    windows加固方案
    redis集群
    tar命令
    nfs安装配置
    nginx php版本隐藏
    细谈select函数(C语言)
    linux 下各errno的意义(转)
    iperf交叉编译:
    主机和虚拟机不能ping通问题
    Linux中tcpdump的编译和使用
  • 原文地址:https://www.cnblogs.com/sxuer/p/10683463.html
Copyright © 2020-2023  润新知