# ====================== 配置区 ======================
total = 123.84
price = 64
# ====================================================
import random
max_single = 1000 / price
count = int(total / max_single) + 1
nums = []
used = set()
base = total / count
# 先生成一组数字
while len(nums) < count:
val = round(base + random.uniform(-0.1, 0.1), 2)
if 0 < val <= max_single and val not in used:
used.add(val)
nums.append(val)
# 【暴力精准校准:直接强制等于 153.8】
current_sum = sum(nums)
nums[-1] = round(total - sum(nums[:-1]), 2)
# 输出
for num in nums:
print(f"{num:.2f}")
print(f"\n总和校验:{sum(nums):.2f}")
IyA9PT09PT09PT09PT09PT09PT09PT09IOmFjee9ruWMuiA9PT09PT09PT09PT09PT09PT09PT09CnRvdGFsID0gMTIzLjg0CnByaWNlID0gNjQKIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgppbXBvcnQgcmFuZG9tCgptYXhfc2luZ2xlID0gMTAwMCAvIHByaWNlCmNvdW50ID0gaW50KHRvdGFsIC8gbWF4X3NpbmdsZSkgKyAxCm51bXMgPSBbXQp1c2VkID0gc2V0KCkKYmFzZSA9IHRvdGFsIC8gY291bnQKCiMg5YWI55Sf5oiQ5LiA57uE5pWw5a2XCndoaWxlIGxlbihudW1zKSA8IGNvdW50OgogICAgdmFsID0gcm91bmQoYmFzZSArIHJhbmRvbS51bmlmb3JtKC0wLjEsIDAuMSksIDIpCiAgICBpZiAwIDwgdmFsIDw9IG1heF9zaW5nbGUgYW5kIHZhbCBub3QgaW4gdXNlZDoKICAgICAgICB1c2VkLmFkZCh2YWwpCiAgICAgICAgbnVtcy5hcHBlbmQodmFsKQoKIyDjgJDmmrTlipvnsr7lh4bmoKHlh4bvvJrnm7TmjqXlvLrliLbnrYnkuo4gMTUzLjjjgJEKY3VycmVudF9zdW0gPSBzdW0obnVtcykKbnVtc1stMV0gPSByb3VuZCh0b3RhbCAtIHN1bShudW1zWzotMV0pLCAyKQoKIyDovpPlh7oKZm9yIG51bSBpbiBudW1zOgogICAgcHJpbnQoZiJ7bnVtOi4yZn0iKQpwcmludChmIlxu5oC75ZKM5qCh6aqM77yae3N1bShudW1zKTouMmZ9Iik=