鱼C论坛

 找回密码
 立即注册
查看: 702|回复: 3

一个问题!!求解,跪求 哭唧唧 在线等

[复制链接]
发表于 2018-9-15 18:54:48 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
挑战6: 有些四位数的各位数字均取自1,2,3,4,5(可重复选取),并且任意相邻两位数字(大减小)的差都是1。则这样的四位数共有多少个?分别是哪些?
这是我自己写的答案:逻辑都是对的啊 我想不通 哪里错了.哭唧唧
  1. tuple1 = [1,2,3,4,5]
  2. tuple2 = []
  3. for i in range(1000,5556):
  4.     fly1 = 1 # 0表示不在其中,1表示在其中
  5.     fly2 = 1 # 0代表相邻不为1 1代表相邻为1
  6.     temp = i
  7.     while temp:
  8.         j = temp % 10
  9.         tuple2.append(j)
  10.         if j not in tuple1:
  11.             fly = 0
  12.             tuple2= []
  13.             break
  14.         temp //= 10
  15.     length = len(tuple2)
  16.     for each in range(length):
  17.         if each+1 < length:
  18.             if abs(tuple2[each+1]-tuple2[each])!=1:
  19.                 fly2 = 0
  20.                 break   
  21.     tuple2= []
  22.     if fly1 == 1 and fly2 == 1:
  23.         print(i)
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2018-9-15 19:21:39 | 显示全部楼层
那里本应写fly1 我写成fly了 抱歉
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-9-15 20:14:38 | 显示全部楼层
本帖最后由 凌九霄 于 2018-9-15 20:18 编辑
  1. import itertools

  2. T = [ 1, 2, 3, 4, 5 ]

  3. X = list(itertools.product(T, repeat=4))

  4. for i in X:
  5.     if abs(i[ 0 ] - i[ 1 ]) == abs(i[ 1 ] - i[ 2 ]) == abs(i[ 2 ] - i[ 3 ]) == 1:
  6.         print(i)
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-9-15 20:52:19 | 显示全部楼层
不介意的话
import math as m

inc_list = []

for i in range(1000,5556):
    flag = 1
    for j in range(int(m.log10(i)+1, 1, -1):
        c1 = (i%10**j) // (10**(j-1))
        c2 = (i%10**(j-1)) // (10**(j-2))
        if c2 ==0 or c2 >5:
            flag = 0
            break
        if abs(c1-c2) != 1:
            flag = 0
            break
    if flag:
        inc_list.append(i)

print(len(inc_list))
print(inc_list)
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-12 15:24

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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