鱼C论坛

 找回密码
 立即注册
楼主: zltzlt

[已解决]Python:每日一题 354

[复制链接]
 楼主| 发表于 2020-3-20 17:47:12 | 显示全部楼层
小甲鱼de粉丝 发表于 2020-3-18 19:33
这个,抱歉,发现有bug

输入 elft = 47, right = 85 有错,结果多了个 1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-20 17:50:55 | 显示全部楼层
fan1993423 发表于 2020-3-19 18:33
楼主是不是我最快,是最佳答案啊

好像有人比你快哦
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-20 21:37:38 | 显示全部楼层
zltzlt 发表于 2020-3-20 17:47
输入 elft = 47, right = 85 有错,结果多了个 1

def day354(left, right):
  if not(left < 1):
    numberlist = []
    nnl = []

    for i in range(left ,right):
      numberlist.append(i + 1)
    for i in range(len(numberlist)):
      pass2 = 1
      number = numberlist
      nlist = list(str(number))
      pass1 = 0
      for i2 in nlist:
        if i2 == "0":
          pass2 = 0
      if not(pass2 == 0):   
        for each in range(len(str(number))):
          if int(nlist[each]) == 0:
            pass1 += 1
          elif number % int(nlist[each]) == 0:
            pass1 += 1  
        if pass1 == len(str(number)):        
          nnl.append(number)
    print(nnl)   
  1. def day354(left, right):
  2.   if not(left < 1):
  3.     numberlist = []
  4.     nnl = []

  5.     for i in range(left ,right):
  6.       numberlist.append(i + 1)
  7.     for i in range(len(numberlist)):
  8.       pass2 = 1
  9.       number = numberlist[i]
  10.       nlist = list(str(number))
  11.       pass1 = 0
  12.       for i2 in nlist:
  13.         if i2 == "0":
  14.           pass2 = 0
  15.       if not(pass2 == 0):   
  16.         for each in range(len(str(number))):
  17.           if int(nlist[each]) == 0:
  18.             pass1 += 1
  19.           elif number % int(nlist[each]) == 0:
  20.             pass1 += 1  
  21.         if pass1 == len(str(number)):        
  22.           nnl.append(number)
  23.     print(nnl)   
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-21 12:11:43 | 显示全部楼层
zltzlt 发表于 2020-3-19 17:44
解答错误

输入:left = 47, right = 85
  1. left = 47
  2. right = 85        

  3. def q354(left, right):
  4.     DivSelf = []   
  5.     for each in range(left, right+1):
  6.         if '0' not in (string := str(each)):
  7.             count = 0
  8.             for key in (num := set(string)):           #之前的判定条件为:将存在于该数(A)中的不相同元素相乘所得(B)相除(A%B)余数为0就可判定是不能满足的,比如48
  9.                 if each%(int(key)) == 0:#将判定条件改为:若每个元素都可以被A整除 那么一定为自除数,但是计算迭代次数增加(最多计算9次)
  10.                     count += 1
  11.             if count == len(num):
  12.                 DivSelf.append(each)
  13.             count = 0
  14.     return DivSelf
复制代码


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-29 10:22:32 | 显示全部楼层
a=int(input('请输入一个整数:'))
def increase(a):
    b=[]
    while 1:
        c=a%10
        a=a//10
        b.append(c)
        if a==0:
            break
    return b
while a:
    m=increase(a)
    l=len(m)
    b=0
    for i in range(l-1):
        if m[i]>=m[i+1]:
            b+=1
    if b==l-1:
        print(a)
        break
    a-=1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-10 14:03:58 | 显示全部楼层
  1. def fun354(left,right):
  2.    
  3.     def self_counting(x):
  4.         if '0' in str(x):
  5.             return False
  6.         list_counting = [x%int(i) for i in str(x)]
  7.         if len(set(list_counting)) != 1:
  8.             return False
  9.         return True

  10.     result = [i for i in range(left,right+1) if self_counting(i)]
  11.     return result
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-16 03:51

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表