我认为这个问题有一个逻辑/数学解决方案,我很确定这里有人知道答案。 :)
这是用PHP编写的。
假设我有3个苹果,3个香蕉和3个橙子。
我需要能够根据以下类别/要求创建最大数量的“可能的水果篮”:
A类=任何水果/ 3需要
B类=香蕉或橙子/ 2需要
C类=橙子/ 1必需
D类=苹果或香蕉/ 2需要
我可以制作的篮子最多数量是多少?我需要知道如何获得解决方案,而不一定是解决方案。如果有人知道,我也想知道这是什么。
此外,这些数字可能会增加到数千,因此我需要能够在不破坏计算机的情况下执行此操作。
答案 0 :(得分:1)
这些被称为“组合”
答案 1 :(得分:1)
为了使这项工作,你需要设置和数组条件,一组"库存"和一系列结果。
您的广告资源应包含所有"水果"你需要的金额是值:
$inventory = array(
'oranges' => 2800,
'apples' => 1600,
'bananas' => 3000,
)
然后,您需要设置条件来构建每种篮子类型。组织这些条件可能需要子数组。这是一个例子:
$conditions = array(
'basketa' => array(
'alloweditems' => array('oranges', 'apple'),
'requireditems' => 2
),
'basketb' => array(
'alloweditems' => array('bananas', 'apple'),
'requireditems' => 2
),
)
最后一步是循环检查允许的项目并加载每个可用项目的COUNT。将它们结合起来可以获得可用的水果,并简单地将总数除以所需的水果数量。要获得四舍五入的数字,请使用" FLOAT($ number)"获得最少量的篮子......