类似这样的,13=9(5472/1368)
9后面不是乘号哦
怎么感觉是个编程题,LOL。学了python 的应该能编出来。
用1-9一共9个数字,把100写成分数形式
版主: verdelite, TheMatrix
Re: 用1-9一共9个数字,把100写成分数形式
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]
[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}")
上次由 (ヅ) 在 2023年 1月 28日 17:25 修改。
Re: 用1-9一共9个数字,把100写成分数形式
若编程解决的,Code可以share一下(ヅ) 写了: 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]