分页: 1 / 1

用1-9一共9个数字,把100写成分数形式

发表于 : 2023年 1月 28日 15:12
verdelite
类似这样的,13=9(5472/1368)
9后面不是乘号哦
怎么感觉是个编程题,LOL。学了python 的应该能编出来。

Re: 用1-9一共9个数字,把100写成分数形式

发表于 : 2023年 1月 28日 15:17
(ヅ)
9后面是加号?

edit:懂了,9又1368分之5472

Re: 用1-9一共9个数字,把100写成分数形式

发表于 : 2023年 1月 28日 15:19
verdelite
(ヅ) 写了: 2023年 1月 28日 15:17 9后面是加号?
就是几又几分之几的意思。3 1/2=3.5那样的。为了防止看错所以我加了括号

Re: 用1-9一共9个数字,把100写成分数形式

发表于 : 2023年 1月 28日 16:04
(ヅ)
3(69258/714)
[3, 69258, 714]
[81, 5643, 297]
[81, 7524, 396]
[82, 3546, 197]
[91, 5742, 638]
[91, 5823, 647]
[91, 7524, 836]
[94, 1578, 263]
[96, 1428, 357]
[96, 1752, 438]
[96, 2148, 537]

代码: 全选

def digit_set(n):
  assert isinstance(n, int)
  assert n > 0
  result = set()
  while n > 0:
    result.add(n % 10)
    n = n // 10
  return result

# check for m, n, p = 1, 5, 3
for i in range(1, 10):
  print(f"checking for i={i}")
  a = digit_set(i)
  for j in range(12345, 98765 + 1):
    b = digit_set(j)
    if 0 in b or len(b) != 5:
      continue
    for k in range(123, 987 + 1):
      c = digit_set(k)
      if 0 in c or len(c) != 3:
        continue
      aa = a.copy()
      bb = b.copy()
      cc = c.copy()
      aa.update(bb)
      aa.update(cc)
      if len(aa) == 9 and j % k == 0 and i + j // k == 100:
        print(f"i={i}, j = {j}, k = {k}")


# check for m, n, p = 2, 4, 3
for i in range(12, 98 + 1):
  print(f"checking for i={i}")
  a = digit_set(i)
  if 0 in a or len(a) != 2:
    continue
  for j in range(1234, 9876 + 1):
    b = digit_set(j)
    if 0 in b or len(b) != 4:
      continue
    for k in range(123, 987 + 1):
      c = digit_set(k)
      if 0 in c or len(c) != 3:
        continue
      aa = a.copy()
      bb = b.copy()
      cc = c.copy()
      aa.update(bb)
      aa.update(cc)
      if len(aa) == 9 and j % k == 0 and i + j // k == 100:
        print(f"i={i}, j = {j}, k = {k}")
              

Re: 用1-9一共9个数字,把100写成分数形式

发表于 : 2023年 1月 28日 16:50
verdelite
(ヅ) 写了: 2023年 1月 28日 16:04 3(69258/714)
[3, 69258, 714]
[81, 5643, 297]
[81, 7524, 396]
[82, 3546, 197]
[91, 5742, 638]
[91, 5823, 647]
[91, 7524, 836]
[94, 1578, 263]
[96, 1428, 357]
[96, 1752, 438]
[96, 2148, 537]
若编程解决的,Code可以share一下

Re: 用1-9一共9个数字,把100写成分数形式

发表于 : 2023年 1月 28日 17:27
(ヅ)
verdelite 写了: 2023年 1月 28日 16:50 若编程解决的,Code可以share一下
简单分析可以得出只能是(1,5,3)和(2,4,3)这两种configurations

贴上了,暴力查找的,效率很烂

正常做应该是dfs