用程序验证不知有何简单方法?
我用MMC(A)验证如下:- lst0 = Tuples[{0, 1}, 3];
- lst1 = Subsets[lst0, {4}];
- lst2 = Table[{(lst1[[i, 1]] - lst1[[i, 2]]).(lst1[[i, 3]] - lst1[[i, 4]]),
- (lst1[[i, 1]] - lst1[[i, 3]]).(lst1[[i, 2]] - lst1[[i, 4]]),
- (lst1[[i, 1]] - lst1[[i, 4]]).(lst1[[i, 2]] - lst1[[i, 3]]),
- Det[{lst1[[i, 2]] - lst1[[i, 1]], lst1[[i, 3]] - lst1[[i, 1]],
- lst1[[i, 4]] - lst1[[i, 1]]}]}, {i, 1, Length[lst1]}];
- DeleteCases[lst2, {___, ___, ___, 0}];
- Flatten[%];
- Select[%, # == 0 &] // Length
复制代码 lst0 是八顶点坐标,lst1 是任取四点,lst2 计算 lst1 每组点的两两连线的数量积,以及一个用于判断是否四点共面的行列式,然后将共面的删掉,最后统计有多少个 0。
输出结果 78 |