我试图找出一种算法,为目前为止没有运气的最终用户提供建议。用户将拥有一个项目列表,其中包含最多100个项目。每个项目都分配了1到100之间的多个点,但所有项目的总和必须等于100个点。每个项目还具有与之相关的优先级(低,中,高)。当新项目添加到列表中时,必须重新分配所有现有项目点以及新项目的点数,总计为100.向用户提供三个重新分配建议,每个可能的优先级一个
场景 - 假设一个包含两个项目的列表,每个项目都是中等优先级,每个项目50个点。在添加第三个项目之前,会提出3个建议。例如,
低推荐 - 40/40 + 10
Med推荐 - 33/33 + 34
高推荐 - 25/25 + 50
如果没有过于复杂的for循环,if语句遍布各处,人们甚至会如何开始编写算法?似乎有一个更简单的答案。可能会将乘数分配给优先级,以增加/减少其余项目点的负面变化率?
进展的一般例子:
文本
T1 T2 T3 T4 T5
Item 1 100 60 35 32 25
Priority (Item 1) 3 3 3 3 3
Item 2 40 30 25 15
Priority (Item 2) 2 2 2 2
Item 3 35 33 25
Priority (Item 3) 3 3 3
Item 4 10 10
Priority (Item 4) 1 1
Item 5 25
Priority (Item 5) 3
TOTALS 100 100 100 100 100