如何把元素ABCDEF取三个或者取两个来用mathematica求解?
mathematica吧
全部回复
仅看楼主
level 1
titi766 楼主
各位高手
这道题我想用组合公式来枚举排列,本人是会用枚举法,但不懂怎么用mathematica表达
如果从这六个数字里面取三个来组合就是247 245 246 2410 275 276 2710 256 2510 2610等等
用mathematica可以排出来吗?怎么做才好?拜托了!
2019年05月14日 19点05分 1
level 5
抛个暴力破解的砖。我也不懂什么算法美学,做出来就完事了。
price = {2, 4, 7, 5, 6, 10}
Solve[x1 + x2 == 16 && (x1 == 2 || x1 == 4 || x1 == 7 || x1 == 5 || x1 == 6 ||x1 == 10) && (x2 == 2 || x2 == 4 || x2 == 7 || x2 == 5 ||x2 == 6 || x2 == 10) && x1 < x2, {x1, x2}]
Solve[x1 + x2 + x3 == 16 && (x1 == 2 || x1 == 4 || x1 == 7 || x1 == 5 || x1 == 6 ||
x1 == 10) && (x2 == 2 || x2 == 4 || x2 == 7 || x2 == 5 ||
x2 == 6 || x2 == 10) && (x3 == 2 || x3 == 4 || x3 == 7 ||
x3 == 5 || x3 == 6 || x3 == 10) && x1 < x2 < x3, {x1, x2, x3}]
规定{x1,x2,x3}递增是为了避免重选,不是很清楚这道题目能不能买一样的东西,如果有的话把<改成≤。
计算结果:
{2, 4, 7, 5, 6, 10}
{{x1 -> 6, x2 -> 10}}
{{x1 -> 2, x2 -> 4, x3 -> 10}, {x1 -> 4, x2 -> 5, x3 -> 7}}
2019年05月15日 02点05分 2
但是我在想一个问题:万一题目改成“有一百件商品价格从1到100不等要求买几件价格合起来是300的”……我就凉凉了[狂汗]
2019年05月15日 02点05分
吧务
level 7
Select[MonomialList[(1 + x1^2) (1 + x2^4) (1 + x3^7) (1 + x4^5) (1 +
x5^6) (1 + x6^10)], (# /. Times -> Plus)[[;; , 2]] == 16 &]
2019年05月15日 05点05分 4
哇这个解答好漂亮(其实看不懂QwQ),我感觉我那个直接强行解方程的方法好渣……
2019年05月15日 08点05分
level 3
Cases[IntegerPartitions[16],
x_ /; SubsetQ[{2, 4, 5, 6, 7, 10}, x] && DuplicateFreeQ[x]]
2019年05月15日 14点05分 5
Cases[IntegerPartitions[16, All, {2, 4, 5, 6, 7, 10}], x_ /; DuplicateFreeQ[x]] 这样也很简单
2019年05月15日 14点05分
@paulwu1983 高手您好,使用integer partitions 如何只取三个元素?把ALL改成3?请指教!谢谢了。麻烦了!
2019年07月27日 17点07分
吧务
level 13
Select[Subsets[{2, 4, 5, 6, 7, 10}, {2, 3}], Total[#] == 16 &]
2019年05月24日 12点05分 6
1