# ------------------- 可修改数字 -------------------
dividend = 93140
start = 650
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