求以下问题的mathematica解决思路
mathematica吧
全部回复
仅看楼主
level 5
梁东林00
楼主
8名学生参加一次数学测验,测验共有8道题,已知每道题都有至少4名学生答对,问是否一定有两个学生共同答对了所有的问题?
2023年07月25日 05点07分
1
level 8
qflwq
我的想法是用随机函数模拟一下,比如用RandomSample函数生成一次可能的情况(8道题分别被哪些同学做对)。下面是我假设每道题都仅有4名同学答对的情况的代码,总共模拟了200次,看起来一定有两个学生共同答对了所有的问题的概率比较小。
Table[Intersection
@@
Table[RandomSample[{a, b, c, d, e, f, g, h}, 4], {i, 8}], {i,
200}] /. {} -> Sequence[]
2023年07月25日 11点07分
2
梁东林00
总感觉这样会漏项。这个问题,如果表述为2阶矩阵,行与列意指题目和学生的话,能形成一一对应。将有2^64种组合,然后按要求转换出模式,用MatchQ来抓取,似乎可行。 但是,生成这个最原始的2^64种组合,不会弄。
2023年07月26日 00点07分
梁东林00
只有0,1二元值的二维数组所有排列怎么用mathematica来生成?
2023年07月26日 00点07分
qflwq
@梁东林00
可以用0到2^64-1之间的十进制数转二进制数然后重新整理成8*8的形状
2023年07月26日 00点07分
梁东林00
看来构造2^(8*8)个组合,每个元素还是个8*8数组的思路有问题,太粗暴。这种组合可用Tuples来做,但是解算,说电脑内存不够。得化简。。。
2023年07月27日 00点07分
level 7
hjq447285628
Select[Table[RandomChoice[Permutations[{0,0,0,0,1,1,1,1}],8],{1000}],Count[Plus@@@Subsets[Transpose@#,{2}],l_List/;FreeQ[l,0]]==0&]
2023年07月26日 00点07分
3
吧务
level 7
wengdeping88
2023年07月27日 08点07分
4
wengdeping88
每道题都有4名学生答对,可能存在没有学生答对了所有问题的情况。
2023年07月27日 08点07分
asdasd1dsadsa
如果这个是题意的话,那么更简单的反例是1-IdentityMatrix
@璐村惂鐢ㄦ埛_00000KN馃惥
2023年08月02日 18点08分
1