|
上述完整公式的 mathematica 验证程序 (以 m=6 为例):
- m = 6;
- Do[
- lst = Range[n];
- a = Subsets[lst, {m}];
- L = Length[a]; k = 0;
- Do[b = a[[i]];
- If[Mod[Sum[b[[j]], {j, 1, m}], m] == 0, k = k + 1], {i, 1, L}];
- If[Mod[n, m] == 0 || Mod[n, m] == 1 ,
- s = Binomial[n, m]/
- m - (\[LeftFloor]n/
- m\[RightFloor] (9 \[LeftFloor]n/m\[RightFloor]^2 -
- 17 \[LeftFloor]n/m\[RightFloor] + 10))/12];
- If[Mod[n, m] == 2 ,
- s = Binomial[n, m]/
- m - (\[LeftFloor]n/
- m\[RightFloor] (9 \[LeftFloor]n/m\[RightFloor]^2 -
- 8 \[LeftFloor]n/m\[RightFloor] + 7))/12];
- If[Mod[n, m] == 3 ,
- s = Binomial[n, m]/
- m - (\[LeftFloor]n/
- m\[RightFloor] (9 \[LeftFloor]n/m\[RightFloor]^2 -
- 8 \[LeftFloor]n/m\[RightFloor] - 1))/12];
- If[Mod[n, m] == 4 || Mod[n, m] == 5 ,
- s = Binomial[n, m]/
- m - (\[LeftFloor]n/
- m\[RightFloor] (9 \[LeftFloor]n/
- m\[RightFloor]^2 + \[LeftFloor]n/m\[RightFloor] + 2))/12];
- If[k == s, Print["n= ", n, " 时正确。"]];
- , {n, 6, 30}]
复制代码
程序运行结果:
n= 6 时正确。
n= 7 时正确。
n= 8 时正确。
n= 9 时正确。
n= 10 时正确。
n= 11 时正确。
n= 12 时正确。
n= 13 时正确。
n= 14 时正确。
n= 15 时正确。
n= 16 时正确。
n= 17 时正确。
n= 18 时正确。
n= 19 时正确。
n= 20 时正确。
n= 21 时正确。
n= 22 时正确。
n= 23 时正确。
n= 24 时正确。
n= 25 时正确。
n= 26 时正确。
n= 27 时正确。
n= 28 时正确。
n= 29 时正确。
n= 30 时正确。
|
评分
-
查看全部评分
|