我在这里很新,最近开始编程。很有趣!
编辑: 无论如何,我需要C#中的一段代码,可以执行以下操作。
让我们看看我能否做到这一点:
我想要混合使用"x"
"ingredients"
个"y"
。
只能将if y=3
成分混合在一起。 (含义ingredients (x)
,我只能用 MAXIMUM 三种成分制作沙拉(少量成分可以。),即使我有更多的成分可供选择。)
好的,这是我的问题;我想知道y=whatever
时if y=3 and x=4 (A,B,C,D)
可能会产生多少独特的菜肴。
让我们称成分A,B,C,D ......等。
所以,再次A
AD
ABB
DBA
etc...
,独特的菜肴就是:
DBA
然而,例如,菜肴ADB
和{{1}}将包含相同数量的相同成分,基本上是相同的菜肴,因此只计算一次。
希望我能解释一下自己有点正确。
谢谢!
答案 0 :(得分:1)
虽然获得此答案的最佳位置来自数学论坛,但这是一次尝试......
可以使用组合数学来回答这个问题,特别是这个是因子的比率,称为二项式系数:
鉴于 :(编辑不重复)
x =总可用成分
y =最大配料/菜
然后,使用三种成分的可能菜肴 的数量由: x!/ y!(xy)!
例如 ,请说:
x = 10
y = 3
然后:
10!/ 3!(10-3)! = 3628800 /(6 * 5040)= 120种可能的菜肴
HERE 是一个可能有助于其他组合算法的链接。 (搜索二项式系数)