【发布时间】:2026-01-11 02:50:01
【问题描述】:
如标题所述,如何生成不带替换的随机整数(每个整数必须是唯一的)以使用 20 个唯一整数获得总和 1400?但同时应用了一个约束?
约束:每个唯一整数的范围应该是1
【问题讨论】:
-
以下是接近的,除了生成的整数不必是唯一的:*.com/questions/61393463/…
标签: python-3.x random
如标题所述,如何生成不带替换的随机整数(每个整数必须是唯一的)以使用 20 个唯一整数获得总和 1400?但同时应用了一个约束?
约束:每个唯一整数的范围应该是1
【问题讨论】:
标签: python-3.x random
以下解决方案有效,但效率非常低。您正在处理的数字很小,因此不会花费太多时间,但对于较大的数字,这将花费很长时间。
import random
l = []
s = 1400
while True:
x = random.randint(1,100)
if x not in l:
if (s - x) > 0:
l.append(x)
s -= x
elif (s - x) == 0:
l.append(x)
s-=x
print(l)
break
if len(l) >= 20:
l = []
s = 1400
【讨论】: