一段程序,运行结果正确,但是为何有警告提示呢?
本帖最后由 TSC999 于 2016-11-3 20:01 编辑我用 mathematica 写了一段程序,是针对本论坛【彩珠手串的配色计数】(见 http://bbs.emath.ac.cn/thread-9161-1-1.html)帖子的公式计算。
程序计算结果正确,但是有警告提示。为什么会有警告呢?如何能够消除警告?
Clear; Array; (*定义二维数组 s(16,16) *)
For[q = 1, q <= 30, q++, (* 计算二维数组 s 的值 *)
For[p = 1, p <= 30, p++,
If, s = 1/(2 q) \!\(
\*UnderoverscriptBox[\(\\), \(i = 1\), \(q\)]
\*SuperscriptBox[\(p\), \(GCD\)]\) + ((p + 1) p^(q/2))/4,
s = 1/(2 q) \!\(
\*UnderoverscriptBox[\(\\), \(i = 1\), \(q\)]
\*SuperscriptBox[\(p\), \(GCD\)]\) + p^((q + 1)/2)/2];]]
n =.; j = 30;
Array; (* 解方程:用数组 x 作为未知数 *)
For[n = 1, n <= j, n++,(* 算 1 至 30 珠 *)
Clear; a = Table, {k, 1, j}] /.
Solve[Table[\!\(
\*UnderoverscriptBox[\(\\), \(i = 1\), \(n\)]\(x
\*SuperscriptBox[\(k\), \(i\)]\)\) == s, {k, 1, j}],
Table, {k, 1, j}]];
b = a[];
m =.; ss = \!\(
\*UnderoverscriptBox[\(\\), \(i = 1\), \(n\)]\(b[\([\)\(i\)\(]\)]*
\*SuperscriptBox[\(m\), \(n + 1 - i\)]\)\);
Print["s(", n, ")=", Factor]]]
上述程序运行结果见图:
页:
[1]