# ------------------- 可修改数字 -------------------
dividend = 190580
start =620
end = 750
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 * 10) % d == 0:
print(f"{dividend} ÷ {d} = {dividend / d}")
print("---")
count += 1
found.append(d)
# 3. 平衡拆分 + 去重(不会出现反过来的重复)
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
# ✅ 关键:小的放前面,大的放后面,防止重复
a, b = sorted((d, d2))
if (a, b) in pairs:
continue
best = None
best_diff = 999999
max_a = int(dividend * 10 / d)
for a_val in range(1, max_a):
p1 = d * a_val / 10
p2 = dividend - p1
if p2 <= 0:
continue
if (p2 * 10) % d2 == 0:
val1 = a_val / 10
val2 = (p2 * 10) / d2 / 10
if diff < best_diff:
best_diff = diff
best = (val1, val2, int(p1), int(p2))
if best:
val1, val2, p1, p2 = best
print(f"{d}、{d2}")
print(f"{d}*{val1}={p1}")
print(f"{d2}*{val2}={p2}")
print("---")
pairs.add((a, b)) # 记录这组组合
count += 1
break
IyAtLS0tLS0tLS0tLS0tLS0tLS0tIOWPr+S/ruaUueaVsOWtlyAtLS0tLS0tLS0tLS0tLS0tLS0tCmRpdmlkZW5kID0gMTkwNTgwCnN0YXJ0ID02MjAKZW5kID0gNzUwCm1heF9yZXN1bHRzID0gMTAKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCmNvdW50ID0gMApmb3VuZCA9IFtdCnBhaXJzID0gc2V0KCkgICMg55So5p2l6Ziy5q2i6YeN5aSN57uE5ZCICgojIDEuIOS8mOWFiOaYvuekuuaVtOmZpApmb3IgZCBpbiByYW5nZShzdGFydCwgZW5kICsgMSwgNSk6CiAgICBpZiBjb3VudCA+PSBtYXhfcmVzdWx0czoKICAgICAgICBicmVhawogICAgaWYgZGl2aWRlbmQgJSBkID09IDA6CiAgICAgICAgcHJpbnQoZiJ7ZGl2aWRlbmR9IMO3IHtkfSA9IHtkaXZpZGVuZCAvLyBkfSIpCiAgICAgICAgcHJpbnQoIi0tLSIpCiAgICAgICAgY291bnQgKz0gMQogICAgICAgIGZvdW5kLmFwcGVuZChkKQoKIyAyLiDlho3mmL7npLrkuIDkvY3lsI/mlbAKZm9yIGQgaW4gcmFuZ2Uoc3RhcnQsIGVuZCArIDEsIDUpOgogICAgaWYgY291bnQgPj0gbWF4X3Jlc3VsdHM6CiAgICAgICAgYnJlYWsKICAgIGlmIGQgaW4gZm91bmQ6CiAgICAgICAgY29udGludWUKICAgIGlmIChkaXZpZGVuZCAqIDEwKSAlIGQgPT0gMDoKICAgICAgICBwcmludChmIntkaXZpZGVuZH0gw7cge2R9ID0ge2RpdmlkZW5kIC8gZH0iKQogICAgICAgIHByaW50KCItLS0iKQogICAgICAgIGNvdW50ICs9IDEKICAgICAgICBmb3VuZC5hcHBlbmQoZCkKCiMgMy4g5bmz6KGh5ouG5YiGICsg5Y676YeN77yI5LiN5Lya5Ye6546w5Y+N6L+H5p2l55qE6YeN5aSN77yJCmZvciBkIGluIHJhbmdlKHN0YXJ0LCBlbmQgKyAxLCA1KToKICAgIGlmIGNvdW50ID49IG1heF9yZXN1bHRzOgogICAgICAgIGJyZWFrCiAgICBpZiBkIGluIGZvdW5kOgogICAgICAgIGNvbnRpbnVlCgogICAgZm9yIGQyIGluIHJhbmdlKHN0YXJ0LCBlbmQgKyAxLCA1KToKICAgICAgICBpZiBkID09IGQyOgogICAgICAgICAgICBjb250aW51ZQoKICAgICAgICAjIOKchSDlhbPplK7vvJrlsI/nmoTmlL7liY3pnaLvvIzlpKfnmoTmlL7lkI7pnaLvvIzpmLLmraLph43lpI0KICAgICAgICBhLCBiID0gc29ydGVkKChkLCBkMikpCiAgICAgICAgaWYgKGEsIGIpIGluIHBhaXJzOgogICAgICAgICAgICBjb250aW51ZQoKICAgICAgICBiZXN0ID0gTm9uZQogICAgICAgIGJlc3RfZGlmZiA9IDk5OTk5OQoKICAgICAgICBtYXhfYSA9IGludChkaXZpZGVuZCAqIDEwIC8gZCkKICAgICAgICBmb3IgYV92YWwgaW4gcmFuZ2UoMSwgbWF4X2EpOgogICAgICAgICAgICBwMSA9IGQgKiBhX3ZhbCAvIDEwCiAgICAgICAgICAgIHAyID0gZGl2aWRlbmQgLSBwMQogICAgICAgICAgICBpZiBwMiA8PSAwOgogICAgICAgICAgICAgICAgY29udGludWUKCiAgICAgICAgICAgIGlmIChwMiAqIDEwKSAlIGQyID09IDA6CiAgICAgICAgICAgICAgICB2YWwxID0gYV92YWwgLyAxMAogICAgICAgICAgICAgICAgdmFsMiA9IChwMiAqIDEwKSAvIGQyIC8gMTAKICAgICAgICAgICAgICAgIGRpZmYgPSBhYnModmFsMSAtIHZhbDIpCgogICAgICAgICAgICAgICAgaWYgZGlmZiA8IGJlc3RfZGlmZjoKICAgICAgICAgICAgICAgICAgICBiZXN0X2RpZmYgPSBkaWZmCiAgICAgICAgICAgICAgICAgICAgYmVzdCA9ICh2YWwxLCB2YWwyLCBpbnQocDEpLCBpbnQocDIpKQoKICAgICAgICBpZiBiZXN0OgogICAgICAgICAgICB2YWwxLCB2YWwyLCBwMSwgcDIgPSBiZXN0CiAgICAgICAgICAgIHByaW50KGYie2R944CBe2QyfSIpCiAgICAgICAgICAgIHByaW50KGYie2R9Knt2YWwxfT17cDF9IikKICAgICAgICAgICAgcHJpbnQoZiJ7ZDJ9Knt2YWwyfT17cDJ9IikKICAgICAgICAgICAgcHJpbnQoIi0tLSIpCiAgICAgICAgICAgIHBhaXJzLmFkZCgoYSwgYikpICAjIOiusOW9lei/mee7hOe7hOWQiAogICAgICAgICAgICBjb3VudCArPSAxCiAgICAgICAgICAgIGJyZWFr