注册 登录
编程论坛 C# 论坛

请教一个算法

沉默的痞子 发布于 2019-12-05 10:14, 1583 次点击
请教一个问题,如下:
将一个数Y分成列表中的若干个数,使若干个数在列表中,且若干个数之和等于Y
例:
列表:2000,3000,4000,8000,20000,40000,60000
Y=20000,Y始终在列表中,分成若十个数的最大个数设为4,结果可以为:
{4000,8000,8000}{20000}
Y=20000,Y始终在列表中,分成若十个数的最大个数设为5,结果可以为:
{2000,2000,4000,4000,8000}{4000,8000,8000}{20000}
Y=40000,Y始终在列表中,分成若十个数的最大个数设为5,结果可以为:
{4000,4000,8000,4000,20000}{2000,2000,8000,8000,20000}{40000}{20000,20000}
多个结果,随机返回一种即可
1 回复
#2
zbjzbj2019-12-05 23:05
递归遍历
1