2024-09-21 01:28:00 发布
网友
我试图为0到30之间的任何数字生成可能的加数。加数的个数=10,加数下限=0,加数上限=3。你知道吗
例如,对于数字30,加数可以是3+3+3+3+3+3+3+3+3+3+3=30。你知道吗
对于12,加数可以是,3+3+1+2+1+1+0+0+1=12,或3+3+3+3+0+0+0=12或给定极限内的任何值。但是加数的数目应该总是10。你知道吗
如何在Python中执行此操作?你知道吗
提前谢谢。 塞缪尔·杜拉维尔
如果您想生成所有元素,那么由于您使用的是较小的数字,您可以生成所有1048576种方法,从[0, 1, 2, 3]中选择10个元素,并检查哪些元素和您想要的元素相加
[0, 1, 2, 3]
from itertools import product def addend_all(n): for combination in product(range(4), repeat=10): if sum(combination) == n: yield combination for i in range(31): print(list(addend_all(i)))
如果您想生成所有元素,那么由于您使用的是较小的数字,您可以生成所有1048576种方法,从
[0, 1, 2, 3]
中选择10个元素,并检查哪些元素和您想要的元素相加相关问题 更多 >
编程相关推荐