# ====================== 配置区 ======================
total = 48     # 可改：144.6 / 241.64 / 任意总数
price = 62.5    # 可改：64.5 / 65 / 任意单价
# ====================================================

import random
random.seed(1)

# 核心：单个金额不能超过1000元
max_single = round(1000 / price, 2)
count = int(total / max_single) + 1
nums = []
used = set()
base = round(total / count, 2)

# 生成：均匀 + 不超1000 + 合规 + 不重复
for i in range(count):
    val = round(base + i * 0.02, 2)

    # 强制不超过最大值（永远不超1000）
    if val > max_single:
        val = max_single

    # 保证乘积是两位小数
    for _ in range(500):
        if (val * price * 100).is_integer():
            break
        val = round(val - 0.01, 2)

    # 保证不重复
    while val in used:
        val = round(val - 0.02, 2)
    used.add(val)
    nums.append(val)

# 校准总和
current_sum = sum(nums)
diff = round(total - current_sum, 2)
if abs(diff) > 0.01:
    for i in range(len(nums)):
        new_val = round(nums[i] + diff, 2)
        if 0 < new_val <= max_single and new_val not in used:
            nums[i] = new_val
            break

# 输出（你要的干净格式）
for num in nums:
    print(f"{num:.2f}")

print(f"\n总和校验：{sum(nums):.2f}")