# ------------------- 可修改数字 -------------------
dividend = 14780
start = 600
end = 800
max_results = 10
# ---------------------------------------------------
count = 0
found = []
pairs = set() # 彻底去重
# 1. 优先显示整除
for d in range(start, end + 1, 5):
if count >= max_results:
break
if dividend % d == 0:
print(f"{dividend} ÷ {d} = {dividend // d}")
print("---")
count += 1
found.append(d)
# 2. 再显示 最多两位小数(能除尽)
for d in range(start, end + 1, 5):
if count >= max_results:
break
if d in found:
continue
if (dividend * 100) % d == 0:
res = dividend / d
print(f"{dividend} ÷ {d} = {res:.2f}".rstrip("0").rstrip("."))
print("---")
count += 1
found.append(d)
# 3. 拆分:不重复 + 允许相差50以内
for d in range(start, end + 1, 5):
if count >= max_results:
break
if d in found:
continue
for d2 in range(start, end + 1, 5):
if d == d2:
continue
# ✅ 去重核心:小的在前,大的在后,只记录一次
key = tuple(sorted((d, d2)))
if key in pairs:
continue
best = None
max_a = int(dividend * 100 / d)
for a in range(1, max_a):
p1 = d * a / 100
p2 = dividend - p1
if p2 <= 0:
continue
if (p2 * 100) % d2 == 0:
val1 = a / 100
val2 = (p2 * 100) / d2 / 100
# ✅ 允许相差 50 以内,不需要完全平衡
if abs(val1
- val2
) <= 50: best = (val1, val2, int(p1), int(p2))
break # 找到就用,不纠结最优
if best:
val1, val2, p1, p2 = best
print(f"{d}、{d2}")
print(f"{d}*{val1:.2f}".rstrip("0").rstrip(".") + f"={p1}")
print(f"{d2}*{val2:.2f}".rstrip("0").rstrip(".") + f"={p2}")
print("---")
pairs.add(key)
count += 1
break
IyAtLS0tLS0tLS0tLS0tLS0tLS0tIOWPr+S/ruaUueaVsOWtlyAtLS0tLS0tLS0tLS0tLS0tLS0tCmRpdmlkZW5kID0gMTQ3ODAKc3RhcnQgPSA2MDAKZW5kID0gODAwCm1heF9yZXN1bHRzID0gMTAKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCmNvdW50ID0gMApmb3VuZCA9IFtdCnBhaXJzID0gc2V0KCkgICMg5b275bqV5Y676YeNCgojIDEuIOS8mOWFiOaYvuekuuaVtOmZpApmb3IgZCBpbiByYW5nZShzdGFydCwgZW5kICsgMSwgNSk6CiAgICBpZiBjb3VudCA+PSBtYXhfcmVzdWx0czoKICAgICAgICBicmVhawogICAgaWYgZGl2aWRlbmQgJSBkID09IDA6CiAgICAgICAgcHJpbnQoZiJ7ZGl2aWRlbmR9IMO3IHtkfSA9IHtkaXZpZGVuZCAvLyBkfSIpCiAgICAgICAgcHJpbnQoIi0tLSIpCiAgICAgICAgY291bnQgKz0gMQogICAgICAgIGZvdW5kLmFwcGVuZChkKQoKIyAyLiDlho3mmL7npLog5pyA5aSa5Lik5L2N5bCP5pWw77yI6IO96Zmk5bC977yJCmZvciBkIGluIHJhbmdlKHN0YXJ0LCBlbmQgKyAxLCA1KToKICAgIGlmIGNvdW50ID49IG1heF9yZXN1bHRzOgogICAgICAgIGJyZWFrCiAgICBpZiBkIGluIGZvdW5kOgogICAgICAgIGNvbnRpbnVlCiAgICBpZiAoZGl2aWRlbmQgKiAxMDApICUgZCA9PSAwOgogICAgICAgIHJlcyA9IGRpdmlkZW5kIC8gZAogICAgICAgIHByaW50KGYie2RpdmlkZW5kfSDDtyB7ZH0gPSB7cmVzOi4yZn0iLnJzdHJpcCgiMCIpLnJzdHJpcCgiLiIpKQogICAgICAgIHByaW50KCItLS0iKQogICAgICAgIGNvdW50ICs9IDEKICAgICAgICBmb3VuZC5hcHBlbmQoZCkKCiMgMy4g5ouG5YiG77ya5LiN6YeN5aSNICsg5YWB6K6455u45beuNTDku6XlhoUKZm9yIGQgaW4gcmFuZ2Uoc3RhcnQsIGVuZCArIDEsIDUpOgogICAgaWYgY291bnQgPj0gbWF4X3Jlc3VsdHM6CiAgICAgICAgYnJlYWsKICAgIGlmIGQgaW4gZm91bmQ6CiAgICAgICAgY29udGludWUKCiAgICBmb3IgZDIgaW4gcmFuZ2Uoc3RhcnQsIGVuZCArIDEsIDUpOgogICAgICAgIGlmIGQgPT0gZDI6CiAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgCiAgICAgICAgIyDinIUg5Y676YeN5qC45b+D77ya5bCP55qE5Zyo5YmN77yM5aSn55qE5Zyo5ZCO77yM5Y+q6K6w5b2V5LiA5qyhCiAgICAgICAga2V5ID0gdHVwbGUoc29ydGVkKChkLCBkMikpKQogICAgICAgIGlmIGtleSBpbiBwYWlyczoKICAgICAgICAgICAgY29udGludWUKCiAgICAgICAgYmVzdCA9IE5vbmUKICAgICAgICBtYXhfYSA9IGludChkaXZpZGVuZCAqIDEwMCAvIGQpCiAgICAgICAgCiAgICAgICAgZm9yIGEgaW4gcmFuZ2UoMSwgbWF4X2EpOgogICAgICAgICAgICBwMSA9IGQgKiBhIC8gMTAwCiAgICAgICAgICAgIHAyID0gZGl2aWRlbmQgLSBwMQogICAgICAgICAgICBpZiBwMiA8PSAwOgogICAgICAgICAgICAgICAgY29udGludWUKCiAgICAgICAgICAgIGlmIChwMiAqIDEwMCkgJSBkMiA9PSAwOgogICAgICAgICAgICAgICAgdmFsMSA9IGEgLyAxMDAKICAgICAgICAgICAgICAgIHZhbDIgPSAocDIgKiAxMDApIC8gZDIgLyAxMDAKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgIyDinIUg5YWB6K6455u45beuIDUwIOS7peWGhe+8jOS4jemcgOimgeWujOWFqOW5s+ihoQogICAgICAgICAgICAgICAgaWYgYWJzKHZhbDEgLSB2YWwyKSA8PSA1MDoKICAgICAgICAgICAgICAgICAgICBiZXN0ID0gKHZhbDEsIHZhbDIsIGludChwMSksIGludChwMikpCiAgICAgICAgICAgICAgICAgICAgYnJlYWsgICMg5om+5Yiw5bCx55So77yM5LiN57qg57uT5pyA5LyYCgogICAgICAgIGlmIGJlc3Q6CiAgICAgICAgICAgIHZhbDEsIHZhbDIsIHAxLCBwMiA9IGJlc3QKICAgICAgICAgICAgcHJpbnQoZiJ7ZH3jgIF7ZDJ9IikKICAgICAgICAgICAgcHJpbnQoZiJ7ZH0qe3ZhbDE6LjJmfSIucnN0cmlwKCIwIikucnN0cmlwKCIuIikgKyBmIj17cDF9IikKICAgICAgICAgICAgcHJpbnQoZiJ7ZDJ9Knt2YWwyOi4yZn0iLnJzdHJpcCgiMCIpLnJzdHJpcCgiLiIpICsgZiI9e3AyfSIpCiAgICAgICAgICAgIHByaW50KCItLS0iKQogICAgICAgICAgICBwYWlycy5hZGQoa2V5KQogICAgICAgICAgICBjb3VudCArPSAxCiAgICAgICAgICAgIGJyZWFr